我是shell脚本的新蜜蜂。如果这个问题多余,请将我重定向到正确的帖子。
我的file.txt文件如下所示,想要更改文件中的第二行
Property1=0
Property2=0 50 14 1/1 * ? *
Property3=0
我想替换第二行将50 14改为当前时间,文件看起来像是
Property1=0
Property2=0 58 15 1/1 * ? *
Property3=0
下次看起来像是
Property1=0
Property2=0 03 16 1/1 * ? *
Property3=0
请帮我改变第二行。
答案 0 :(得分:2)
使用awk
比sed
更容易完成。
awk -v min=$(date +%M) -v hour=$(date +%H) 'NR == 2 { $2 = min; $3 = hour } 1' file > file.new
两个date
命令将awk
个变量设置为当前时间。 NR == 2
匹配文件中的第2行,然后用这些时间变量替换第2和第3个字段。最后1
会导致打印当前行。
答案 1 :(得分:0)
您可以使用sed更改第二行
sed '2s/.*/Property2=0 58 15 1\/1 * ? */' test
您似乎正在尝试增加,但我在第三个示例中看不到该模式