2017-07-01 53 views
-2

我的數據看起來如何從Linux中的文件的第二列打印非num?

  ID.NO|CUST 
      1989 | BZXY-P 
      17BY4| 1236 
      18719| 9281 
      ABTY | 49889 
      56QQB| 87 BWE 67 

我想兩個文件出這個數據的,

文件從第二山坳&把對應的第一個山坳1-唯一的非數值,

ID.NO | CUST

1989 | BZXY-P

56QQB | 87 BWE 67

文件2 - 只有從第二山坳NUM值,&把對應的第一個山坳

ID.NO | CUST

18719 | 9281

17BY4 | 1236

ABTY | 49889

已經嘗試了好幾次,沒有運氣。我並不是真的進入核心linux,但是我想找到一個soln,因爲我現在很難找到它。任何建議或幫助對我來說都是絕對的福音。

+0

早些時候,我認爲的「grep [AA-ZZ]文件名,是SOLN!後來我意識到,grep會過濾出整個行,如果即使第一個col有非num,這也不符合計劃 – joh

回答

1

AWK溶液:

輸入文件file

ID.NO|CUST 
1989 | BZXY-P 
17BY4| 1236 
18719| 9281 
ABTY | 49889 
56QQB| 87 BWE 67 

的命令:

awk -F' *\\| *' 'BEGIN{ f1="File1.txt"; f2="File2.txt" } 
    NR==1{ print > f1; print > f2; next} 
    { print > (($2~/^[0-9]+$/)? f2:f1) }' file 

結果:

> cat File1.txt 
ID.NO|CUST 
1989 | BZXY-P 
56QQB| 87 BWE 67 

> cat File2.txt 
ID.NO|CUST 
17BY4| 1236 
18719| 9281 
ABTY | 49889 
+0

感謝您的回覆!當我嘗試這個時,我發現文件1的所有值包括非num和file2 -empty只有頭文件 – joh

+0

@joh,請參閱我的答案中的輸入文件。否則,您發佈了非實際的輸入。該解決方案應按預期工作 – RomanPerekhrest

+0

Pl請參閱截圖i – joh

相關問題