簡體   English   中英

替換平面文件中的第二行

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM