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