Linuxでテキストファイルを列で分割および結合する!(cut/paste)

Linuxで固定長のファイルの列を切り出します!

固定長のデータを用意する!

以下のファイルを用意する!

$ cat cut_sample.txt 
00000001,server01,user01
00000002,server02,user02
00000003,server03,user03
00000004,server04,user04
00000005,server05,user05

固定長のデータの列を切り出す!

バイト指定で1列目を切り出します。

$ cut -b 1-8 cut_sample.txt > cut_sample_col1.txt
$ cat cut_sample_col1.txt
00000001
00000002
00000003
00000004
00000005

バイト指定で2列目を切り出します。

$ cut -b 10-17 cut_sample.txt > cut_sample_col2.txt
$ cat ./cut_sample_col2.txt 
server01
server02
server03
server04
server05

バイト指定で3列目を切り出します。

$ cut -b 19-24 cut_sample.txt > cut_sample_col3.txt
$ cat ./cut_sample_col3.txt 
user01
user02
user03
user04
user05

切り出したファイルを列で結合する!(paste)

区切り文字に「,」を指定して、ファイルを結合します。

$ paste -d',' cut_sample_col1.txt cut_sample_col2.txt cut_sample_col3.txt > cut_sample_paste.txt
$ cat cut_sample_paste.txt
00000001,server01,user01
00000002,server02,user02
00000003,server03,user03
00000004,server04,user04
00000005,server05,user05

おわりに

テキストファイルを列で切り出す場合は、「cut」コマンド、結合する場合は、「paste」コマンドを使用します。

関連記事

関連書籍(Amazon)