2017-04-18 37 views
-1

在unix中,我有一堆文件,其中的id希望將文件名添加到文件頭中,是否有人有小腳本?如何重命名unix文件中的頭文件

我有一堆文件:

abc.xxx bac.xxx cba.xxx

每一個文件,我有我的數據拆分內,對每個部分的標題:

*asdasd-123123 datadata

*asdasd-345345 datadata

我想將文件名添加到其各自文件的標題中:

*abc_asdasd-123123 datadata

*abc_asdasd-345345 datadata

BR Slyngej

回答

0

這應該做

#!/bin/bash 
for f in ???.xxx # grab file names in directory 
do 
     tag=`echo $f | cut -c -3` # pick first 3 char to tag data 
     sed "1s/^\*/*${tag}_/" $f > $f.mod # modify first line, save it with .mod extention 
done 
+0

嗨感謝您的快速答覆。但是,在每個文件中,有幾個標題,並且id喜歡將文件名添加到所有文件中,不僅第一行 – steffen

+0

命令「sed」用於修改文件。文檔在這裏:https://www.gnu.org/software/sed/manual/sed.html。在這個例子中,我使用「1」作爲「地址」,哪一行是sed應該操作的。所以你閱讀文檔的第4部分,並相應地修改命令。使用「s」命令,這在3.3節中描述。 – yosukesabai