时间:2014-12-31 15:50:39 作者:qipeng 来源:系统之家 1. 扫描二维码随时看资讯 2. 请使用手机浏览器访问: https://m.xitongzhijia.net/xtjc/20141231/33843.html 手机查看 评论 反馈
•确定文本
打印处于start_pattern 和end_pattern之间的文本;
代码如下:
awk ‘/start_pattern/, /end_pattern/’ filename
eg:
代码如下:
seq 100 | awk ‘/13/,/15/’
cat /etc/passwd| awk ‘/mai.*mail/,/news.*news/’
awk常用内建函数
index(string,search_string):返回search_string在string中出现的位置
sub(regex,replacement_str,string):将正则匹配到的第一处内容替换为replacement_str;
match(regex,string):检查正则表达式是否能够匹配字符串;
length(string):返回字符串长度
代码如下:
echo | awk ‘{”grep root /etc/passwd“ | getline cmdout; print length(cmdout) }’
printf 类似c语言中的printf,对输出进行格式化
eg:
代码如下:
seq 10 | awk ‘{printf ”-》%4s\n“, $1}’
迭代文件中的行、单词和字符
1. 迭代文件中的每一行
•while 循环法
代码如下:
while read line;
do
echo $line;
done 《 file.txt
改成子shell:
cat file.txt | (while read line;do echo $line;done)
•awk法:
cat file.txt| awk ‘{print}’
2.迭代一行中的每一个单词
代码如下:
for word in $line;
do
echo $word;
done
3. 迭代每一个字符
${string:start_pos:num_of_chars}:从字符串中提取一个字符;(bash文本切片)
${#word}:返回变量word的长度
代码如下:
for((i=0;i《${#word};i++))
do
echo ${word:i:1);
done
上面就是Linux中文本处理命令的详细介绍了,因为涉及的命令较多,本文只是做了简单的介绍,如果想深入了解某个命令用法的话,不妨关注下系统之家吧。
发表评论
共0条
评论就这些咯,让大家也知道你的独特见解
立即评论以上留言仅代表用户个人观点,不代表系统之家立场