次のコードがあります。
cat file | grep example | sed 's/http/https/' >> report.txt
このコマンドの出力は次のとおりです。
https://example.com/page/index.html
これにより、HTTPSを使用してファイルへのリンクが追加されます。しかし、2番目のファイルの「URL」も同じ出力に置き換えたいと思います。
2番目のファイルの内容:
TEXT TEXT
TEXT
URL
TEXT TEXT
2番目のファイルの必須変更:
TEXT TEXT
TEXT
https://example.com/page/index.html
TEXT TEXT
可能ですか?
PS:実際には単純な猫ではありませんが、このコマンドでアップロードプロセスを開始するため、コマンドを再度繰り返すことはできません。
ベストアンサー1
ちなみに、これは必要ではなく、一人で行うこともcat
できます。grep
sed
sed '/URL/!d;s/http/&s/'
とにかく、一連のコマンドを実行して単一の出力ラインを生成すると仮定すると、次のことができます。
... | tee -a report.txt | sed 's|[\&/]|\\&|g;s|.*|s/URL/&/g|' | sed -f- -i infile.json
これにより、出力が追加されるreport.txt
だけでなく、コマンドsed
にパイプされ、ファイルを内部で編集する別のコマンドにパイプされます。sed
sed
.json