使用.txt文件中的第一行重命名单个文件

时间:2017-03-14 09:42:41

标签: bash text-files

目前我有两个文件,在这个例子中我们称之为example1.txt和example2.txt

如何将example2.txt重命名为example1.txt文件中的第一行?此文件中的第一行始终是版本号,即7.16.5.5,并且不应包含任何空格。

干杯!

2 个答案:

答案 0 :(得分:2)

mv example2.txt "$(head -1 example1.txt)"

任何insde $()都将是子进程并首先执行。所以上面的命令转换为:

mv example2.txt 7.16.5.5

保留txt扩展程序:

mv example2.txt "$(head -1 example1.txt).txt"

答案 1 :(得分:0)

或者,通过过滤,例如来自像这样的文件:

this is the version 1.2.3.4
bla

mv example2.txt "$(grep -m1 -oP '\d+(\.\d+)*' example1.txt).txt"