Linux高级文本处理命令
2017-09-30 09:58
453 查看
cut、sort、wc、sed、awk
1、cut (提取文本列)echo $PATH | cut -d ':' -f 5 //取$PATH输出流的第五列,是以:为分隔符的第5列
echo $PATH | cut -d ':' -f 1,3 //取第3,5列
echo $PATH | cut -d ':' -f 1-3 //取第1-3列
echo $PATH | cut -d ':' -f 5 - //取5列以后
echo $PATH | cut -d ':' -f 1-3,5 //取1-3和5列
2、sort (对行排序)
cat /etc/passwd | sort: 对/etc/passwd进行排序输出,默认按字符串形式升序
cat /etc/passwd | sort -t ':' -k 3 : 以:为分隔符,按第三列排序
cat
/etc/passwd | sort -t ':' -k 3n : 以:为分隔符,按第三列排序,排序按数字大小升序排序
cat
/etc/passwd | sort -t ':' -k 3nr : 降序
cat
/etc/passwd | sort -t ':' -k 3 -u : -u是去重
cat
somefile | sort | uniq : 去重
sort
somefile | uniq -c : 去重并统计次数
3、wc
wc
-l /etc/passwd : 统计行
wc
-w /etc/passwd : 统计单词出现次数
wc
-m /etc/passwd : 统计字符数
4、sed (删除)
sed '2d' somefile : 删除第二行,但是不是真的删除
sed -i '2d' somefile : 真的删除
sed '2,$d' somefile : 删除2-最后一行
sed '$d' somefile : 删除最后一行
sed '/test/'d somefile :删除含有test的行
sed 's/from/to/g' somefile : 匹配每一个from,变成to
sed
-n 's/^from/to/p' somefile : 匹配以from开头的,打印发生替换的行
sed
's/^from/&to/' testfile : 在from开头的单词后面追加to
5、awk
last -n 5 | awk '{print $1}' : 打印第一列,默认以tab和空格等为分隔符
cat /etc/passwd | awk -F ':' '{print $1}' //以:为分隔符
cat /etc/passwd | awk -F ':' '{print $1"\t"$3}' //输出1,3列,中间分隔
cat /etc/passwd | awk -F ':' 'BEGIN {print "name,shell"} {print $1,$7} END {print "blue,bin"}' //首尾列名
awk -F '/root/' /etc/passwd : 含有root的
awk -F '/^root' /etc/passwd : 以root开头的
相关文章推荐
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- Linux高级文本处理之gawk语法和基础命令(一)
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- Linux高级文本处理之gawk printf命令与函数(六)
- Linux高级文本处理命令
- Linux(三)高级文本处理命令
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
- Linux 入门常用命令 — 文本处理
- Linux命令--文本处理命令详解sort
- Linux高级文本处理之gawk分支和循环(四) 推荐
- Linux下常用文本处理命令
- Linux文本处理三剑客之grep命令
- shell编程之高级文本处理命令:cut-sort-wc详解
- Linux基础命令:文本处理工具之cut
- Linux基础命令:文本处理工具之tr
- Linux 基础命令(五)—— 文本处理三剑客之grep
- Linux文本处理—awk gawk命令的使用
- Linux常用文本处理命令
- Linux下常用文本处理命令
- linux命令--文本处理