根据文件名更改特定字段

时间:2016-05-26 16:38:09

标签: linux bash shell

我有20个名为nxt_bas_01.txt,nxt_bas_02.txt ... nxt_bas_20.txt的文件,在第nr.5行的所有文件中我都有相同的文本TITLE / nxt_bas_01现在我只需要在行更改nr.5根据我的文件名,我尝试用sed -i失败了,请看看我的简单代码并分享你的建议,

num=01
till=20
while [ "$num" -lt `expr $till + 01 ` ]
do
        sed -i '5s/.*/TITLE / nxt_bas_01/' nxt_bas_$num.txt
        num=`expr $num + 1 `
done

1 个答案:

答案 0 :(得分:0)

试试这个:

for num in {01..20}; do
   sed -i "5s/.*/TITLE \/ nxt_bas_$num/" nxt_bas_$num.txt
done

未经测试但应该可以解决问题。

更新:

替换以TITLE /开头的行:

 sed -i "s/^TITLE \/.*/yourtext/" yourfile

或使用sed c命令:

sed "/^TITLE \// c yourtext" <<< "TITLE /toto"