GNU/Linux >> Linux の 問題 >  >> Linux

awk または sed を使用して特定の文字を削除する

sed の置換を使用:sed 's/"//g'

s/X/Y/ X を Y に置き換えます。

g 最初のものだけでなく、すべての出現箇所を置き換える必要があることを意味します。


awk を使用して実行できます (パイプの一部も短縮しました):

strings -a libAddressDoctor5.so | awk '/EngineVersion/ { if(NR==2) { gsub("\"",""); print $2 } }'

正確な入力内容がわからないため確認できませんが、次のように動作します:

echo "Blah EngineVersion=\"123\"" | awk '/EngineVersion/ { gsub("\"",""); print $2 }'

一重引用符の削除に関するこの質問も参照してください。


tr sed よりも簡潔に文字を削除できます または awk 、特に文字列から複数の異なる文字を削除したい場合。

二重引用符の削除:

echo '"Hi"' | tr -d \"
# Prints Hi without quotes

さまざまな種類のブラケットの削除:

echo '[{Hi}]' | tr -d {}[]
# Prints Hi without brackets

-d 「削除」の略です。


Linux
  1. AwkまたはSedを使用して、8未満の文の単語または数字を置き換えますか?

  2. Sedを使用して文字列の最初の文字をラップしますか?

  3. 排出/安全にVsUmountを削除しますか?

  1. SED を使用した単語の最初の文字の大文字化

  2. 列値条件で awk を使用する

  3. sed で \r 文字を削除する方法

  1. Sed、Awk、またはGrepを使用したマルチラインパターンマッチ?

  2. grep と awk の使用

  3. awkを使用してファイルをインプレースで変更するには? (sed -i と同様)