根据文件名更改特定字段



我有 20 个文件名为 nxt_bas_01.txt的文件,nxt_bas_02.txt ...nxt_bas_20.txt 并且在第 5 行的所有文件中,我都有相同的文本TITLE / nxt_bas_01现在我只需要根据我的文件名在第 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

试试这个:

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"

相关内容

  • 没有找到相关文章

最新更新