在給定行中插入文件的內容我想在當前文件夾和子文件夾中找到與模式匹配的所有文件(cs*.dat3
),並從文件或bash中插入一段文本變成一個給定的行。它可能也是相匹配的文件,而不是一個給定的線的模式後,但我有使用sed
PRESSURE_RELIEF_PANELS
EXIT PRESSURE_RELIEF_PANELS
這樣的東西會放在兩次。幸運的是,第一個PRESSURE_RELIEF_PANELS
總是在第32行,所以可以利用。我現在的看法是這樣的:
find . -name cs*.dat3 -exec sed '33iblah' {} \;
其輸出
PRESSURE_RELIEF_PANELS
blah
EXIT PRESSURE_RELIEF_PANELS
現在,而不是「嗒嗒」,我想插入文本塊。該文本存儲在一個文件中,因此可以暫時存儲在bash變量中,或者以某種方式將其作爲路徑或文件讀入sed
。我一直無法找到一個好的解決方案,因爲我無法將sed
的插入語句(i
)與文件名語句(r
)合併。
有人嗎?
謝謝,這工作正常。爲了記錄我最後的工作命令是'find。 -name cs * .dat3 -exec sed -i'33r ../ text.dat'{} \;' –