我已經去下面的文本SED插入匹配圖案
1012 - ABC-DEF
VIP
編號
指數
診斷
變異
硬件
2017年6月19日14:41:28
,我想追加 「1012 - ABC-DEF」 兩個模式「之間每行的開始1012 - ABC-DEF」和 「2017年6月19日14:41:28」
這樣的結果將是:
1012 - ABC-DEF
1012 - ABC-DEF VIP
1012 - ABC-DEF數
1012 - ABC-DEF指數
1012 - ABC-DEF診斷
1012 - ABC-DEF變
1012 - ABC-DEF硬件
2017年6月19日14時41分二十八秒
雖然我有解決方案,但我正在尋找更好的解決方案。
這裏是我的解決方案:
sed -i "/^\([0-9][0-9][0-9][0-9]\) - ABC-DEF/,/2017\-\([0-9][0-9]\)\-\([0-9][0-9]\) \([0-9][0-9]\)\:\([0-9][0-9]\)\:\([0-9][0-9]\)/{/^\([0-9][0-9][0-9][0-9]\) - ABC-DEF/n;/2017\-\([0-9][0-9]\)\-\([0-9][0-9]\) \([0-9][0-9]\)\:\([0-9][0-9]\)\:\([0-9][0-9]\)/!{s/^/1012 - ABC-DEF /g}}" *
我想是如果文本模式 「1012 - ABC-DEF」 匹配它會自動在{s/^/1012填寫 - ABC-DEF/「} 我認爲解決方案是{s/^/\ 1-ABC-DEF/g}}」但是這給了一個錯誤(在's'命令的RHS上無效的參考\ 1)。
如何解決填寫參考「1012」自動或者甚至更好填寫引用「1012」 - 「ABC」 - 「DEF」自動
感謝@kent的回答,我是一個新手,不熟悉你的awk或其他人可以產生sed的代碼? – Anekdote