根據文件中的模式拆分為兩個文件

根據文件中的模式拆分為兩個文件

我有一個包含以下內容的文件:

xyz[0]
xyz[1]
xyz[2]
xyz[3]
abc[0]
abc[1]
abc[2]

每個值都由換行符號分隔。我想根據方括號中的數字是偶數還是奇數將它們分成兩個不同的檔案。

答案1

使用 Awk,按字元分割[]然後對第二個欄位進行模除:

$ awk -F'[][]' '{f = $2%2 ? "odd" : "even"; print > f}' file

$ head odd even
==> odd <==
xyz[1]
xyz[3]
abc[1]

==> even <==
xyz[0]
xyz[2]
abc[0]
abc[2]

相關內容