at_shiita.ishigaki
2022年2月2日 8時51分
複数のファイルの行を連結するにはpasteコマンドを使用します。
[armadillo ~]# cat > num.txt << '__EOF__' 1 2 3 __EOF__ [armadillo ~]# cat > hoge.txt << '__EOF__' hoge fuga piyo __EOF__ [armadillo ~]# cat > foo.txt << '__EOF__' foo bar baz __EOF__ [armadillo ~]# paste num.txt hoge.txt fuga.txt 1 hoge foo 2 fuga bar 3 piyo baz
行と列を入れ替える場合は-sオプションを使用します。
[armadillo ~]# paste -s num.txt hoge.txt foo.txt 1 2 3 hoge fuga piyo foo bar baz
区切り文字をタブから変える場合は-dオプションを使用します。
区切り文字を,(カンマ)にすることでcsvファイルを作るときにも使用することができます。
また、区切り文字は各列毎に変更することができます。
※ここでは例として、区切り文字を,(カンマ)とした場合と、一つ目の区切り文字を,(カンマ)とし、二つ目の区切り文字を+とした場合について記載します。
[armadillo ~]# paste -d , num.txt hoge.txt foo.txt 1,hoge,foo 2,fuga,bar 3,piyo,baz [armadillo ~]# paste -d ,+ num.txt hoge.txt foo.txt 1,hoge+foo 2,fuga+bar 3,piyo+baz