我需要使用awk命令來處理我的一個數據文件。我怎樣才能用awk完成這個任務?任何投入將不勝感激。謝謝。根據編號爲其中一個字段分配行號。每行中的字段
1) Get the no. of fields for each row.
(a) If the count_of_fields = 'x' then assign a value to nth field in each row.
輸入: -
1,x,A,B
2,A,B,C
3,x,C,D
4,D,E,F,G
5,x,E,F
**
輸出
**: -
1,1,A,B
2,A,B,C
3,3,C,D
4,D,E,F,G
5,5,E,F
x- is the 2nd column where I would like to assign NR when NF=4
n - This is the 2nd column.
請讓這個例子更清楚,是什麼'x'和'N'在輸入?此外你還試過了什麼? – 123
想想你提供的樣品輸入/輸出。你似乎只需要做一些事情,當一個字段是x和NF是4,那麼爲什麼你只發布樣本輸入,每次一個字段是x NF **總是** 4?正如所寫的,有人可能會寫一個解決方案,完全忽略你的要求,只有當NF是4時更改x,並根據你的發佈樣本輸入進行測試,它會產生你的預期輸出。而且你**總是**在你想改變的領域有x,所以我們也可以忽略這個要求。這是一個可怕的例子,甚至不包括覆蓋你的用例! –
例如,我可以發佈一個只是'awk'{sub(/ x /,NR)}'文件'的解決方案,並且在針對您的發佈示例輸入運行時,它會生成您的發佈預期輸出。它當然是完全錯誤的解決方案,所以您的樣本輸入/輸出添加了什麼值?沒有。做出你想要的改變總是很容易的,而要避免改變你不想改變的事情則更加困難,所以在創建示例輸入/輸出時,真的需要付出一些努力來提出你認爲很難做到的事情,至少包括涵蓋最基本要求的案例。 –