cut
cut的工作就是“剪”,具体就是在文件中负责剪数据
比如:cut -d " " -f 1 test.txt
说明:将文件的每一行,以空格为分隔符,提取第一列数据
sed
流编辑器,简单说就是将数据一行一行从文件中取出,然后对其进行编辑,输出到控制台,不改变原文件
案例:
// 在第二行加入kan nv的字符串
sed "2a kan nv" sed.txt
// 删除所有kang的字符串
sed '/kang/d' sed.txt
// 替换(g表示全局替换)
sed 's/wo/ni/g' sed.txt
// 连续编辑动作(删除第二行,将所有wo替换为ni)
sed -e '2d' -e 's/wo/ni/g' sed.txt
awk
一个文本分析工具,将每一行文件切分,然后进行处理
# 将每一行用:分隔,匹配开头为root的行,输出第1列和第7列
awk -F : '/^root/{print $1","$7}' passwd
# 只显示/etc/passwd的第一列和第七列,以逗号分割,且在所有行前面添加列名user,shell在最后一行添加"zzuli,/bin/kangdong"。
# BEGIN在执行前启动,END在执行的最后启动
awk -F : 'BEGIN{print "user, shell"} {print $1","$7} END{print "zzuli,/bin/kangdong"}' passwd
# 内置变量的基本使用
awk -v i=1 -F: '{print $3+i}'
# 统计passwd文件名,每行的行号,每行的列数
awk -F: '{print "filename:" FILENAME ", linenumber:" NR ",columns:" NF}' passwd
sort
// 按照sort.sh中以:为分隔符的第三列数字从大到小排序
sort -t : -nrk 3 sort.sh