Linux Shell

cut是shell内置命令,可以逐行读取文件,根据参数切割文本,获取指定列、字符、字节数据。

语法:cut [options] fileName

常用参数:

参数

介绍

-d

指定分隔符,默认制表符。

-c

以字符为单词进行分隔。

-b

以字节为单位进行分隔,多字节字符将被拆分。

-n

不分割多字节字符(汉字等),通常和-b参数一同使用。

-f

指定获取第几列,通常和-d一同使用。

参数:

n- :截取第n列(字符、字节)后面的数据。

n-m :截取第nm列(字符、字节)之间的数据。

-m :截取第m列(字符、字节)前面的数据。

n1,n2,n3… :直接指定截取那些列(字符、字节)的数据。


举例:

# vim cut_data.txt
张三 32 抽烟
李四 42 喝酒
王五 31 烫头
赵六 34 吃饭
#!/bin/bash
echo 数据
cat cut_data.txt

echo 按照空格分隔,获取第一列数据(姓名)
cut -d " " -f 1 cut_data.txt

echo 按照空格分隔,获取第一、四列数据(姓名、爱好)
cut -d " " -f1,4 cut_data.txt

echo 按照空格分隔,获取第二列之前的数据(姓名、性别)
cut -d " " -f -2 cut_data.txt

echo 按照空格分隔,获取第二列之后的数据(性别、年龄、爱好)
cut -d " " -f 2- cut_data.txt

echo 按照空格分隔,获取第一至三列之后的数据(姓名、性别、爱好)
cut -d " " -f 1-3 cut_data.txt

echo 以字符为单位,获取姓名
cut -c 1-2 cut_data.txt

echo 以字节为单位获取,获取姓名
cut -nb 1,2 cut_data.txt



转载请指明出处!http://www.miselehe.com/article/view/132