#单词计数
cat filename | awk '{ C += length($0) + 1; W += NF }END{ print NR, W, C}'
#排序算法
#!/bin/bash
function f() {
sleep "$1"
echo "$1"
}
while [ -n "$1" ]
do
f "$1" &
shift
done
wait
#显示特殊符
var="I am a student"
echo $var | awk '{ $2,$3,$1,$4}'
#结果为:
am a I student
echo
$var | awk '{ print substr($4,2,3)}'
#显示第四个域中从第二字符开始的三个字符
tud
#查找空格并用%20替换 g表示每个空格都替换 否则只替换第一个
echo $var | sed -e "s/ /%20/g"
#模式匹配/etc/hosts文件有一行
172.16.5.4 casper casper.mydomain.com
awk '$2=="casper" { print $0 }' /etc/passwd
#输出:172.16.5.4 casper casper.mydomain.com
#几个值匹配awk ’$1 ~ /^root|^weilongxiaozi/ { print $0 }‘ /etc/passwd
输出/etc/passwd中以root和weilongxiaozi开头的行,|分隔几个匹配的选项
!~为输出不匹配的行
#显示确定域的数目awk -F: '{ print NF }' /etc/passwd
#输出:每行都为7
awk -F: '{ print $NF }' /etc/passwd
打印最后一个域的值 #$(NF-1)倒数第二个值
#print length可以打印出当前行的字符数
sed -e "s/#.*/ /g" | awk '{if(length != 0) print $0}' > file
#过滤空格和注释行 重定向到file文件
awk学习笔记
最新推荐文章于 2025-08-07 09:19:13 发布