更改表中的字段分隔符

更改表中的字段分隔符

我有几个具有以下格式的表

1971-01-01 1124
1971-01-02 987
1971-01-03 954
...

相反,我想更改字段分隔符以获得以下表格格式

1971 01 01 1124
1971 01 02 987
1971 01 03 954
...

有谁知道该怎么做?

答案1

您可以tr为此使用(翻译):

tr -- - ' ' < file

--表示您没有在该参数之后传递任何选项。至少在 GNU tr 上,这是不需要的,但在其他一些版本中可能是需要的。

您还可以使用sed或使用各种其他工具:

sed 'y/-/ /'
awk -F- '$1=$1'  # implicit translation using OFS

答案2

告诉awk用作-字段分隔符并将其替换为默认值(空格):

awk -F - '$1=$1' file

答案3

或者你可以使用sed

$ sed -e 's|-| |g' file

答案4

几种方法。

<file tr \- \ 

<file sed -e 'y/-/ /'

<file awk -F - '{$1=$1};1'

<file perl -pe 'y/-/ /'

相关内容