时间:2014-12-31 15:50:39 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手机查看 评论 反馈
代码如下:
eg:
p=patten
r=replaced
echo “line con a patten” | sed “s/$p/$r/g”
$》line con a replaced
•其它示例
字符串插入字符:将文本中每行内容(PEKSHA)转换为 PEK/SHA
代码如下:
sed ‘s/^.\{3\}/&\//g’ file
awk 数据流处理工具
•awk脚本结构
awk ‘ BEGIN{ statements } statements2 END{ statements } ‘
•工作方式
1.执行begin中语句块;
2.从文件或stdin中读入一行,然后执行statements2,重复这个过程,直到文件全部被读取完毕;
3.执行end语句块;
print 打印当前行
•使用不带参数的print时,会打印当前行;
代码如下:
echo -e “line1\nline2” | awk ‘BEGIN{print “start”} {print } END{ print “End” }’
•print 以逗号分割时,参数以空格定界;
代码如下:
echo | awk ‘ {var1 = “v1” ; var2 = “V2”; var3=“v3”; \
print var1, var2 , var3; }’
$》v1 V2 v3
•使用-拼接符的方式(”“作为拼接符);
代码如下:
echo | awk ‘ {var1 = ”v1“ ; var2 = ”V2“; var3=”v3“; \
print var1”-“var2”-“var3; }’
$》v1-V2-v3
特殊变量: NR NF $0 $1 $2
NR:表示记录数量,在执行过程中对应当前行号;
NF:表示字段数量,在执行过程总对应当前行的字段数;
$0:这个变量包含执行过程中当前行的文本内容;
$1:第一个字段的文本内容;
$2:第二个字段的文本内容;
代码如下:
echo -e ”line1 f2 f3\n line2 \n line 3“ | awk ‘{print NR”:“$0”-“$1”-“$2}’
•打印每一行的第二和第三个字段:
代码如下:
awk ‘{print $2, $3}’ file
•统计文件的行数:
代码如下:
awk ‘ END {print NR}’ file
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场