打印文件中的最后一个字段,并将其用于另一个文件的名称

时间:2014-05-17 00:54:14

标签: linux perl bash awk grep

我有一个带有3行和7列的制表符分隔文件。我想使用文件末尾的数字重命名另一个文件。

制表符分隔文件的示例:

a   b   c   d   e   f   g
a   b   c   d   e   f   g
a   b   c   d   e   f   1235

所以,我想从制表符分隔文件中提取数字,然后重命名" file1"提取的数字(mv file1 1235

我可以打印列,但我似乎无法从文件中提取数字。即使我可以提取数字,我似乎无法弄清楚如何存储该数字以用作新文件名。

3 个答案:

答案 0 :(得分:2)

您可以使用此awk

name=$(awk 'END {print $NF}' file)
mv file $name

答案 1 :(得分:0)

沿着这些方向发生了什么?

num=$(tail -1 file1 | rev | awk '{print $1}' | rev)
mv file1 $num

答案 2 :(得分:0)

使用perl one-liner

perl -ne 'BEGIN{($f) = @ARGV} ($n) = /(\d+)$/; END{rename($f, $n)}' file1