pasteコマンドは、単純なデータファイルをExcelのような表計算ソフト等を使用せずに、コマンドによってデータを並べることができます。
また、データを並べる際に区切り文字を指定することで、csvファイルのようなデータファイルを作成することもできます。
目次
pasteコマンドとは
pasteコマンドは、ファイルの行を表形式のように繋げることができます。例えば、単純なデータファイルがある場合、pasteコマンドを用いることで、表形式のファイルを作成することができます。
pasteコマンドの構文
1 |
paste オプション ファイル |
オプション:0個以上のオプションをつけることができます。
入力ファイル:0個以上の入力ファイルを指定できます。入力ファイルがない、または「-」ならば、標準入力が指定されます。
pasteコマンドの利用例
ファイルの内容をタブで区切って並べる(列形式)
pasteコマンドはファイルを指定すると、ファイルの内容をタブで並べることができます。
並び方は、ファイルをExcelのような表計算プログラムで列に並べるような形になります。
別ファイルになっているデータファイル等を繋げるのに便利です。
また、デフォルトの区切り文字はタブですが、-dオプションで変更することができます。
コマンド例
1 |
paste num.txt alphabet.txt |
num.txt
1 2 3 4 5 |
1 2 3 4 5 |
alphabet.txt
1 2 3 4 5 6 |
a b c d e f |
実行結果
1 2 3 4 5 6 |
1 a 2 b 3 c 4 d 5 e f |
ファイルの内容を重複して並べることもできます。
コマンド例
1 |
paste num.txt alphabet.txt num.txt |
実行結果
1 2 3 4 5 6 |
1 a 1 2 b 2 3 c 3 4 d 4 5 e 5 f |
コマンド例
1 |
paste - alphabet.txt - < num.txt |
実行結果
1 2 3 4 5 6 |
1 a 2 3 b 4 5 c d e f |
ファイルの内容を行形式で並べる
(-sオプション)
-sオプションを用いると、ファイルの内容をExcelのような表計算プログラムで行に並べるような形で表示することができます。
また、区切り文字は-dオプションで変更することができます。
コマンド例
1 |
paste -s num.txt alphabet.txt |
num.txt
1 2 3 4 5 |
1 2 3 4 5 |
alphabet.txt
1 2 3 4 5 6 |
a b c d e f |
実行結果
1 2 |
1 2 3 4 5 a b c d e f |
区切り文字を変更
(-dオプション)
デフォルトの区切り文字はTABです。
-dオプションで区切り文字を変更することができます。
コンマを指定すれば、csvファイルを作ることもできます。
コマンド例
1 |
paste -d',' num.txt alphabet.txt |
num.txt
1 2 3 4 5 |
1 2 3 4 5 |
alphabet.txt
1 2 3 4 5 6 |
a b c d e f |
実行結果
1 2 3 4 5 6 |
1,a 2,b 3,c 4,d 5,e ,f |
複数の文字が-dオプションの引数に入る場合、リスト内の文字が順番に使用されます。
すべてのリスト内の文字が使用された場合は、リストの最初の文字に戻ります。
コマンド例
1 |
paste -d'&%' num.txt alphabet.txt num.txt alphabet.txt |
実行結果
1 2 3 4 5 6 |
1&a%1&a 2&b%2&b 3&c%3&c 4&d%4&d 5&e%5&e &f%&f |
参考
外部リンクGnu Coreutils
外部リンクGnu Coreutils日本語版