2
時才替換值嘗試使用shell命令替換多個文件中的值(用於在腳本中遍歷目錄中的文件)。僅當大於
Input file examples:
file1:
019=False
051=Limited
051>Limited Lease Time=2419200
file2:
019=False
051=Limited
051>Limited Lease Time=14400
這沒關係工作:
sed -e '/Limited Lease Time=/s/[0-9]\+$/86400/g' <infile >outfile
# cat outfile
019=False
051=Limited
051>Limited Lease Time=86400
可是......然後意識到,我是更換任何值,包括那些低於86400時,當我只想要替換任何大於86400
我以爲我可以用awk,和這個「那種」工作,在輸出僅爲「租用期有限」線具有值> 86400:
awk -F= '/Limited Lease Time/ && $2 > 86400 { print $2 }'
但是......它只輸出匹配的行,而我需要原始輸出(示例中有3行),包括修改,如果匹配的值> 86400.
欣賞一些關於處理方式的建議這個 !
偉大的工作,感謝使它配置使用
-v
可變進口!將awk行與'-v'變量導入一起使用,使其在我的腳本中更清晰。謝謝。剛剛閱讀手冊頁,並確定它的功能;-) – kpw