次のような多くのコマンドを試しました。
sed -i '' "s/$/<@string>/" txt.txt > txt2.txt
これにより txt2.txt が空になります。なぜですか? ! ?
sed 's/$/<@string>/' txt.txt > txt2.txt
これはまったく何もせず、パスが<string>
存在しないことを伝えます。
ではどうすればいいですか?私はOS Xを使用しているので、bsd sedを使用しています。
ベストアンサー1
この-i
スイッチを使用すると、元のsed
ファイルが編集されます。これは出力がないことを意味し、出力がないため、リダイレクトすると空のファイルが生成されます。
だからあなたが欲しいのは
sed -i '' 's/$/<@string>/' txt.txt
それ以外の場合は、ソースが変更されますtxt.txt
。
sed 's/$/<@string>/' txt.txt > txt2.txt