次の形式のテーブルが複数あります。
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/-/ /'