Linux shell cut 命令详解

时间:2023-03-09 16:17:32
Linux shell cut 命令详解

详细资料请参考:博客园骏马金龙 https://www.cnblogs.com/f-ck-need-u/p/7521357.html

cut命令将行按指定的分隔符分割成多列,它的弱点在于不好处理多个分隔符重复的情况,因此经常结合tr的压缩功能。

常用参数-d -f

-b:按字节筛选, 输入每行第n个字符(半角,注意如果有中文将乱码)。
-n:取消分割多字节字符(例如中文),仅和-b标志一起使用。(不常用)
-c:按字符筛选, 输入每行第n个字符(适用中文)。

-f:按字段筛选, 默认不加参数-d时,分隔符为‘tab’键,如  -d ' ' -f 2 表示用空格作为分隔符,提取第二列的内容
-d:自定义分隔符,默认是制表符,例如 -d ' ' 表示用空格作为分隔符,-d : 表示用冒号作为分隔符

-s:不打印不包含分隔符的行;比如每行都有空格,并且用空格作为分隔符,那么提取的时候不提取没有空格行的内容
--complement:补足被选择的字节、字符或字段,反选的意思,
--output-delimiter:指定输出分割符;默认为输入分隔符,使用-b或者-c分隔了多段字符时,可以使用--output-delimiter,否则这些多段将拼接在一起。

cut中的范围指定

可以使用"N-"、"N-M"和"-M"分别表示每行N字符(或字节或字段)后的所有内容、N-M段内容和M段之前的内容。注意包括N和M的边界。