grep
grep命令:匹配关键字,即显示文件中关键字所在的整行内容。
显示/etc/passwd文件中所有包含root关键字的行:grep root /etc/passwd
显示 /etc/passwd文件所有包含root关键字的行并显示关键字处于文本中哪一行:
grep -n root /etc/passwd
-n 显示行号 -v 取反
-i 不区分大小写 -c 带关键字的行数
-q 静默执行,即不在屏幕显示匹配到的内容
-A 连带显示关键字之后的几行
grep -A 2 u1 /etc/passwd 显示u1所在的行,和之后的两行
-B 连带显示关键字之前的几行
grep -B 2 u1 /etc/passwd 显示u1所在行,和之前的两行
--color 带颜色显示关键字
grep root /etc/passwd --color
cut
cut命令:提取文件内容中指定的字段(列)、字符内容。单词的默认分隔符为空格。
-b:按照字节切,utf-8编码中每个汉字占3个字节
-c:按照字符切 -d:指定分隔符
-f:指定以分隔符为分割的哪个字段
例:cut -d : -f 1,6 /etc/passwd
显示文件中以:分割的第1和第6列的内容
cut -d : -f 1,3-5 /etc/passwd显示文件中以:分割的1,3,4,5列内容
cut -d : -f -3 /etc/passwd
显示文件中前三列内容
cut -d : -f 3- /etc/passwd
显示文件第三列到最后一列的内容
cut -c 1-3 /etc/passwd 取每行的前三个字符
echo ‘欢迎光临’ | cut -b 1-6 取前六个字节‘欢迎’
seq
seq : 按顺序打印一些数字
基本用法: seq [选项] ...尾数
seq [选项] ...首数 尾数
seq [选项] ...首数 增量 尾数
例: seq 1 2 10 输出1~10之间的奇数
seq 2 2 10 输出1~10之间的偶数
seq 10 -2 1 输出10~1之间的偶数
用echo可以实现同样的效果
echo {首数...尾数....增量}
echo {1..10} 输出1~10整数
echo {1..10..2} 输出1~10的奇数
echo {2..10..2} 输出1~10之间的偶数
echo {10..1..-2} 输出10~1 之间的偶数
sort
sort 排序 (升序、降序)默认升序
-n :(numeric-sort 数值排序)根据数值比较,默认单个字符比较
-r:reverse(颠倒) 反序输出结果
-t:指定分隔符(separator分离器)
-k:排序建(key,排序的列字段)
-u:去掉重复行(uniq 唯一的)
例:用cat命令创建a.txt
sort -n -r -t: -k 3 a.txt
按以:分割的第三列倒序输出
sort -u a.txt
去除a.txt文件中的重复行
wc
wc 统计行数、单词数、字节数
-l:统计行数
-c:统计字节数
-w:统计单词数
-m:统计字符数
例:wc -l /etc/passwd 统计文件内容行数
uniq
uniq 合并连续重复的行
-u:只显示没有连续重复的行
-c:统计连续重复行的次数
-d:只显示一次连续重复的行
-i:忽略大小写
例:cat > a.txt <<EOF
aaa bbb ccc
aaa bbb ccc
AAA BBB CCC
EOF
先创建一个a.txt文件
uniq -u a.txt 只显示“AAA BBB CCC”没有连续重复的这一行
uniq -c a.txt 统计连续重复行的次数。
显示: 2 aaa bbb ccc
1 AAA BBB CCC
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。