^M字符我有一個很長的文件,該文件是這樣的:AWK:輸出文件包含在文件名
0a
190 0.121212
191 0.232323
...
0b
190 0.1212
191 0.4545
...
16c
190 0.34654
191 0.567565
...
我用awk使用此命令將文件分割成許多小文件:
awk '/[0-9][a-c]/{close(x); x=$0;}{print > x;}' spectrum.tsv
這工作,但輸出文件的名稱似乎都在文件名的末尾包含一個換行符:
我試圖雷莫ve的換行符與「sub」像這樣:
awk '/[0-9][a-c]/{close(x); x=$0;}{sub(/^M/,"",x)}{print > x;}' spectrum.tsv
但是,這導致了相同的結果。
所以我的問題是,如何避免輸出文件名中的換行符? 我正在使用OSX 10.10順便說一句。輸入文件來自Windows機器。
您是如何到達'^ M' charac在'sub()'裏面?如果沒有嘗試過,嘗試輸入'ctrl-v + ctrl-M'而不是'^ M'。 – Fazlin 2014-10-07 09:23:22
在輸入文件中是否存在DOS/windows - Linux Carriage return問題? – Kent 2014-10-07 09:25:21
@Kent:是的,輸入文件來自Windows機器。我相應地編輯了這個問題。 – gha 2014-10-07 12:16:28