[英]Replace 2nd line in flat file
我是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
請幫助我如何更改第二行。
使用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
匹配文件中的第NR == 2
行,然后用那些時間變量替換第二和第三字段。 1
導致當前行被打印。
您可以使用sed更改第二行
sed '2s/.*/Property2=0 58 15 1\/1 * ? */' test
似乎您正在嘗試增加,但在第三個示例中我看不到該模式
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.