Linux:cutコマンドでカラム(フィールド)ではなく文字数を指定する方法

スポンサーリンク

cutコマンドでカラム(フィールド)ではなく文字数を指定する方法

cutコマンドでカラム(フィールド)ではなく文字数を指定するには-cオプションを指定します。

 

オプションの説明

  -c, --characters=LIST   select only these characters

 

以下のテキストを処理するとします。

$ cat test.txt
id,lower,upper
1,a,A
2,b,B
3,c,C
4,d,D

 

-cオプションを指定した場合

$ cut -c2 test.txt
d
,
,
,

$ # 複数指定
$ cut -c1,3 test.txt
i,
1a
2b
3c

$ # 範囲指定
$ cut -c2-4 test.txt
d,l
,a,
,b,
,c,

$ # 最後まで
$ cut -c3- test.txt
,lower,upper
a,A
b,B
c,C

$ # 最初から
$ cut -c-3 test.txt
id,
1,a
2,b
3,c

$ # 指定文字以外
$ cut --complement -c3 test.txt
idlower,upper
1,,A
2,,B
3,,C

$ # 出力デリミタ指定
$ cut --output-delimiter='-' -c1,3,5 test.txt
i-,-o
1-a-A
2-b-B
3-c-C