Linuxコマンド【 cut 】ファイルの各行から一部分を切り出す
当ページのリンクには広告が含まれています。
スポンサーリンク
cutコマンドは、ファイルの各行から指定した一部分を切り出し、標準出力に表示するコマンドです。
cutコマンド
書式
cut [オプション] [ファイル]
オプション
-b バイト数 | 切り出すバイト数を指定します。 |
-c 文字数 | 切り出す文字数を指定します。 |
-d 文字 | 区切り文字を指定します。デフォルトの区切り文字はタブです。 |
-f フィールド数 | 切り出すフィールド数を指定します。 |
-s | 区切り文字を含まない文字列は出力に表示しません。 |
数値の指定方法
N | Nを切り出します。 |
N- | Nから行末までを切り出します。 |
N-M | NからMまでを切り出します。 |
-M | 行頭からMまでを切り出します。 |
使用例
テキストファイル(hoge.txt)を使って、cutコマンドの挙動を確認しましょう。
$ cat hoge.txt 1234567890 abcdefghij
3文字目を切り出します。
$ cut -c 3 hoge.txt 3 c
5文字目から行末までを切り出します。
$ cut -c 5- hoge.txt 567890 efghij
次は、タブ区切りのテキストファイル(foo.txt)を使って、cutコマンドの挙動を確認します。
$ cat foo.txt 12 34 56 78 90 ab cd ef gh ij
行頭から3フィールド目までを切り出します。
$ cut -f -3 foo.txt 12 34 56 ab cd ef
次は、CSVファイル(bar.csv)を使って、cutコマンドの挙動を確認します。
$ cat bar.csv 12,34,56,78,90 ab,cd,ef,gh,ij
オプション -s を使って、区切り文字「,」を指定し、4フィールドから行末までを切り出します。
$ cut -d , -f 4- bar.csv 78,90 gh,ij