私のスクリプトは次のような入力ファイルを受け取ります
user:tag:count
ユーザーを取得し、ページ上で検索し、ユーザーを指すURLを出力します。これが完了したら、入力ファイルを次のように変更します。
user:tag:count:URL
このスクリプトは、i=line1 から始まり、最後の行で終わる while ループです。したがって、ループが処理している行は $i に格納され、取得した URL は $url に格納されます。
通常、私はこれを sed で実行しますが、変数に「/」が含まれていると問題が発生します。awk で試してみました:
awk -v iv="$i" 'NR == iv' input | awk -v var="$count" '{print $0 ":"var}'
正しい行に URL が追加されますが、もちろん、入力ファイルを希望どおりに編集するのには役立ちません。
ファイルを編集できるように、2 つの awk を 1 つにマージする方法はありますか?
答え1
sed
区切り文字なしで使用してください/
。例:
sed 's|foo|bar|'
ただし、2 つの awk コマンドを結合することもできます。
awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}'