2017-03-14 87 views
0

目前我有兩個文件重命名一個文件,在這種情況下,您給他們打電話example1.txt和example2.txt使用的第一行.txt文件

如何去example2.txt重命名爲example1.txt文件中的第一行?該文件中的第一行始終是版本號,即7.16.5.5,不應包含任何空格。

乾杯!

+1

請插入您嘗試過的代碼,然後我們將幫助您 – STF

+0

http://stackoverflow.com/questions/2439579/how-to-get-the-first-line-of -a-file-in-a-bash-script then'mv example2.txt $ line' –

+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" 
+0

謝謝,這個作品!有沒有辦法重新添加.txt擴展名?當我重命名該文件時.txt擴展名被刪除。 – Bob

+0

我已更新答案。 –

+0

真棒,謝謝:) – Bob

0

或者,通過過濾,例如從像一個文件:

this is the version 1.2.3.4 
bla 

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

這將是一個很好的答案,從一個*完全不同的問題問*。 – slim

+0

@slim也適用於他的問題,例如如果該文件在第一行包含單獨的版本號。只是它更普遍.. – jm666

+0

他要求使用file1的第一行重命名file2。你用file1中的第一行重命名file1,它與你發明的模式相匹配(恰好符合他的例子)。 – slim

相關問題