Bash
使用 sed 或 awk 在變數行中插入變數
我有兩個變數(txt 和行號)我想在 x 行中插入我的 txt
card=$(shuf -n1 shuffle.txt) i=$(shuf -i1-52 -n1)
‘card’ 是我的 txt :隨機選擇的一張牌,在洗牌’deck’中隨機選擇,我想將它插入隨機行(i)
鑑於
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