1、cut
:从输入的行中提取指定的部分,不改变源文件
- 带有
-c
选项的命令提取一行中指定长度范围的字符。
cut -c3-6 file.txt
提取文件 file.txt 中每一行的第 3-6 个字符
- 带有
-f
选项的命令提取输入行中指定的字段,字段和字段的分隔符由-d
参数指定。如果没有-d
选项,那么默认使用制表符TAB作为分隔符。
cut -d" " -f2 file.txt
提取并输出文件 file.txt 中每一行的第2个字段,每个字段是由空格隔开的。注意 -d
选项后,双引号之间为空格。
2、diff
:找出两个文件的不同部分
diff file1 file2
3、sort
:接受输入行,并对其按照字母顺序排列,不改变源文件
- 按照字符升序排列后输出这个文件
sort file.txt
- 使用
-r
选项,按照字符降序排列后输出这个文件
sort -r file.txt
- 使用
-k
选项,按照指定字段排序
sort -k2 -r file.txt
按照文件 file.txt 中每行的第 2 个字段(不是第2个字符)对输出行执行逆向排序
4、uniq
:从已经排好序的输入行中删除重复的行
由于 uniq
命令必须在输入行已经排好顺序的情况下才成正常工作(也就说排好序后相同行是连在一起的)。使用 sort
命令结合管道完成。
sort file.txt | uniq
5、wc
: 即 word counts,用来统计文件中行数,单词数以及字节数。使用选项显示某几项信息。
-
-c
或--bytes
显示字节数 -
-l
或--lines
显示行数 -
-L
或--max-line-length
显示最长一行的长度 -
-w
或--words
显示单词数 -
--help
显示帮助信息
6、substr
:从字符串中提取一部分,该命令接受 3 个参数,依次是字符串(或存放有字符串的变量)、提取开始的位置、需要提取的字符数。
expr substr "Hello world" 1 5
注意,substr
必须使用 expr
进行表达式求值,因为这不是一个程序,而是 shell 内建的运算符。如果使用 expr
,系统会找不到substr
。
7、seq
:生成一个整数数列
seq 5
生成 1-5,步长为1
seq -1 3
生成 -1~3,步长为1
seq 9 -3 0
生成 9~0,步长为-3