Shell脚本从文本文档中调用行

时间:2014-11-12 13:17:02

标签: bash shell awk rename mv

我需要一些文件重命名的帮助。 一开始我准备文本文件:names.txt 该文件包含:

T22.tsv
T33.tsv
T101.tsv
T48.tsv

文件夹名称/ home / filip / Desktop /

中的文件名
Xpress33.tsv
Xpress5.tsv
Xpress12.tsv
Xpress006.tsv

/ home / filip / Desktop /后面的文件名称:

T22.tsv
T33.tsv
T101.tsv
T48.tsv

你能帮忙,我怎么能从bash脚本中的文本文件中读取它,它可能是用awk。 我试过了:

A= awk 'NR==1 {print $0}' names.txt 
mv Xpress33.tsv   "$A"

但它没有用。

1 个答案:

答案 0 :(得分:2)

您希望将命令的输出存储到变量中。为此,您需要语法var=$(command)

因此,这应该是:

A=$(awk 'NR==1 {print $0}' names.txt)
mv Xpress33.tsv "$A"

另请注意,这些是等效的,因为{print $0}awk的默认行为:

awk 'NR==1 {print $0}' names.txt
awk 'NR==1' names.txt

如果你想让它更直接,你可以这样做:

mv Xpress33.tsv "$(awk 'NR==1' names.txt)"