改變,我有以下文件格式For循環和值用awk
...
MODE P E
IMP:P 1 19r 0
IMP:E 1 19r 0
...
SDEF POS= 0 0 14.6 AXS= 0 0 1 EXT=d3 RAD= d4 cell=23 ERG=d1 PAR=2
SI1 L 0.020
SP1 1
SI4 0. 3.401
SI3 0.9
...
NPS 20000000
我所試圖做的是找到一個特定的值(特別是序列SI1 L
後的值),並創建了一系列的具有不同值的文件。例如ST1 L 0.020
--->ST1 L 0.050
。我想到的是給出一個起始值,一個結束值和一個步驟,以便在序列SI1 L
之後生成具有不同值的文件。例如for循環可以工作,但我不知道如何在awk
以外使用它。
我能夠找到使用
awk '$1=="SI1" {printf "%12s\n", $3}' file
的價值,我也可以使用以下方法來代替值
awk '$1=="SI1" {gsub(/0.020/, "0.050"); printf "%12s\n", $3}' file
的事情是,價值並不總是0.020
。這就是爲什麼我需要在序列SI1 L
之後替換該值的方法,並且應該爲許多值執行此替換。
這怎麼能達到?
什麼應該是你想創建的文件的內容?與文件內容相關的開始和結束值如何? –
@HåkonHægland:非常感謝您的評論!輸出文件將與輸入文件完全相同,除了序列「SI1 L」之後的不同值之外。 – Thanos