Text-Processing

刪除文件中兩個單詞之間的字元

  • June 18, 2019

我有一個包含重複模式的文件。原行是:

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx a0=20a8c20 a1=20a8dc0 a2=20a70a0 a3=7ffcb25e7b60 items=3 ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

我需要一個命令,將這一行轉換為這個輸出(刪除 a0 到 ppid 但不刪除 ppid):

blahblah=xxx blahblahblah(xxx): blah=xxx blah=xxx blah=xxx blah=xxx ppid=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah=xxx blah="xxx" blah="xxx"

請注意在 a0 和 ppid 之間會有不同數量的字元。

請解釋您的解決方案,我只是一個試圖學習的學生

作為對評論的回應:

是的,我正在為文件目錄做這件事。目標是通過這些文件的腳本。我嘗試使用

sed -e 's/a0=<missing code>items=//'

但我無法弄清楚失去的程式碼應該是什麼。文件的一般模式是相同的。

sed 's/a0.*ppid/ppid/g' yourFile

s 是替代的意思

它將以 a0 開頭並以 ppid 結尾的字元串替換為 ppid

句點表示任何字元

星號表示 0 個或多個任何字元,直到 ppid

g 表示對整個字元串執行此操作

輸入man sed終端以了解更多資訊

引用自:https://unix.stackexchange.com/questions/525688