2017-05-05 36 views
0

我需要替換文件第一行的第一個單詞。例如:
例如:在下面的'^'分隔文件中,我需要用PARA1替換HEADER1。替換分​​隔文件的第一個單詞

貓FILE.TXT
頭1^^ HEADER2^HEADER3^HEADER4^HEADER5 HEADER6
SUBHEADER1^^ SUBHEADER2^SUBHEADER3^SUBHEADER4^SUBHEADER5^SUBHEADER6^SUBHEADER7^SUBHEADER8^SUBHEADER9^SUBHEADER10^SUBHEADER11^SUBHEADER12 SUBHEADER13
10^56^Q1^Q1^95^02^^^4^20170501^20170501^ABCD^
20^56^Q2^Q2^95^02^^^4^20170502^20170502^ABCD^
30^56^Q3^Q3^95^02^^^4^20170503^20170503^ABCD^

我不想使用sed在文件中找到HEADER1的第一次出現將其替換。
相反,它應該適用於文件第一行第一個字中的任何值。

任何建議,非常感謝。

謝謝。

回答

0

如果我正確理解你,你不想使用sed,因爲你認爲它限制你用另一個字符串替換特定的字符串? SED預計正則表達式,它允許你做到以下幾點:

sed -e '1 s/^[^^]*/PARA1/' < /tmp/input.txt 

這將替換輸入的第一個字(僅在第一線)由PARA1,假設的文字,被^分開。

+0

謝謝W.Mann。這正是我需要的。 – ppatkar

相關問題