テーブルのフィールド区切り記号の変更

テーブルのフィールド区切り記号の変更

次の形式のテーブルが複数あります。

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/-/ /'

関連情報