sedまたはawkを使用して変数行に変数を挿入する

sedまたはawkを使用して変数行に変数を挿入する

2つの変数(txtと行番号)があります。 x行にtxtを挿入したいです。

card=$(shuf -n1 shuffle.txt)
i=$(shuf -i1-52 -n1)

「カード」は私のtxtです。混在した「デッキ」でランダムに選択されたカードで、これをランダムな行に挿入したいと思います。 (i)

ベストアンサー1

txt追加したいテキストが割り当てられ、テキストをi挿入する行番号が割り当てられると、目的の結果が出力されます。

$ awk -v line="$i" -v text="$txt" '{print} NR==line{print text}' /path/to/textfile

text追加する代わりに、指定された行番号(すでにあるテキストに追加)に追加するように少し変更します。後ろに上記のコードに示すように、既存の行i(自体):

$ awk -v line="$i" -v text="$txt" ' NR!=line{print} NR==line{print $0 text}' /path/to/textfile

おすすめ記事