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

リテラル文字列で sed -- 入力ファイルではありません

思い通りに動作:

echo "A,B,C" | sed s/,/\',\'/g

bash スクリプトで変数を使用する私のバージョン:

バックスラッシュを見つけて、スラッシュに置き換えます:

input="This has a backslash \\"

output=$(echo "$input" | sed 's,\\,/,g')

echo "$output"

一重引用符が競合しているため、次を使用してください:

 echo "A,B,C" | sed "s/,/','/g"

bash を使用している場合は、これも可能です (<<< here-string です ):

sed "s/,/','/g" <<< "A,B,C"

sed "s/,/','/g"  "A,B,C"

なぜなら sed 引数としてファイルを期待

編集 :

ksh またはその他のものを使用する場合:

echo string | sed ...

Linux
  1. 「sed」を追加しますか?

  2. Linux –ファイル入力引数を使用したGnu並列ペア引数?

  3. Sedでテール出力を着色しますか?

  1. 複数のファイルテキストをSedに置き換えますか?

  2. sed のようなテキストを python に置き換えるにはどうすればよいですか?

  3. sshを使用してリモートホストにファイルが存在するかどうかを確認します

  1. Linuxでの入出力とエラーリダイレクトの操作

  2. シェルスクリプトを使用して /etc/hosts ファイルに行を追加します

  3. bash の改行でテキストをエコーする