Text-Processing

將文本文件中的單詞插入命令

  • April 8, 2022

我有一個包含 100 多個單詞列表的文本文件,每行一個單詞:

Oliver.txt
Jack.txt
Noah.txt
Leo.txt
William.txt

我想將文本文件內容轉換為

gallery-dl -g -i Oliver.txt > OliverX.txt
gallery-dl -g -i Jack.txt > JackX.txt

依此類推。我怎樣才能做到這一點?

在 GNU awk 中:

awk -i inplace -v FS="." '{print "gallery-dl -g -i " $1 ".txt > " $1 "X.txt"}' FILE

它將用新內容替換FILE的內容。-i inplace如果您想將新內容列印到標準輸出並保持FILE的原始內容完整,請刪除。

perl你可以很容易地做到這一點,並且在or中使用幾乎相同的語法sed

sed:

$ sed -E 's/(.*).txt/gallery-dl -g -i \1.txt > \1X.txt/' file
gallery-dl -g -i Oliver.txt > OliverX.txt
gallery-dl -g -i Jack.txt > JackX.txt
gallery-dl -g -i Noah.txt > NoahX.txt
gallery-dl -g -i Leo.txt > LeoX.txt
gallery-dl -g -i William.txt > WilliamX.txt

perl:

$ perl -pe 's/(.*).txt/gallery-dl -g -i \1.txt > \1X.txt/' file
gallery-dl -g -i Oliver.txt > OliverX.txt
gallery-dl -g -i Jack.txt > JackX.txt
gallery-dl -g -i Noah.txt > NoahX.txt
gallery-dl -g -i Leo.txt > LeoX.txt
gallery-dl -g -i William.txt > WilliamX.txt

引用自:https://unix.stackexchange.com/questions/696153