ファイル内の特定の行の末尾にURLを追加してください。

ファイル内の特定の行の末尾にURLを追加してください。

私のスクリプトは次の入力ファイルを使用します。

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つのawksを1つにマージする方法はありますか?

答え1

sed区切り文字以外の文字と一緒に使用してください/。たとえば、

sed 's|foo|bar|'

しかし、そうです。 2 つの awk コマンドをリンクすることもできます。

awk -v iv="$i" -v var="$count" 'NR == iv{print $0 ":"var}' 

関連情報