2017-09-04 164 views
0

實施例來替換第一個字符在管分隔文件的第二列:在下面的例子 ,我需要更換的「1」第一次出現在第二列到「2」如何使用AWK和sed命令

Col1|col2 
1001|1003 
1002|1004 
1003|1005 

我的輸出應該是這樣的:提前

Col1|col2 
1001|2003 
1002|2004 
1003|2005 

謝謝..!

+1

是否需要更換第一個字符(如你的主題中所述)或t他第一次出現「1」(正如你的文字所述)?如果第一個字符有時可能不是1,那麼很顯然,請在您的示例輸入/輸出中包含該案例。 [編輯]你的問題,以顯示你已經嘗試過。 –

回答

0
sed 's/|1/|2/' file 

如果這不是你需要的,那麼編輯你的問題來澄清你的要求。

0

AWK替代(更換第一發生的1在第二列2):

awk -F'|' 'NR>1{ sub("1","2",$2) }1' OFS='|' file 

輸出:

Col1|col2 
1001|2003 
1002|2004 
1003|2005 
0
awk -F\| '{sub(/1/,"2",$2)}1' OFS=\| file 

Col1|col2 
1001|2003 
1002|2004 
1003|2005