前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell用法(包括awk sed grep eval expr等)

shell用法(包括awk sed grep eval expr等)

作者头像
用户1396155
发布2018-08-02 16:01:00
1.2K0
发布2018-08-02 16:01:00
举报
文章被收录于专栏:IT探索

1:取出文件中的第i行到第j行:awk 'NR>=i && NR<=j {print $0}' filename

2:vi精确查找:\<keyValue\>

3:指定分隔符:awk '{FS="\t"} {print $2}' filename

4:数值运算:

x=5;

let x=$x+1;

#或者

x=`expr $x + 1`   #expr 需要参数之间有空格

5:使用变量来引用shell脚本的任意参数

for ((i=1;i<$#;i++))

do

eval currParam=\$$i;

#引用当前变量

#echo "${currParam}"

done

6:awk中引用shell变量

awk '{print $'"${var}"'}'

其中 print 后的符号顺序为$、单引号、双引号、${var}、双引号、单引号

7:提取文本中两匹配行之间内容

代码语言:javascript
复制
start=0
while read line
do
    if [ `echo $line|grep “start flag”|wc -l` -eq 1 ];then

        start=1

        continue

    fi

    if [ `echo $line|grep "end flag"|wc -l` -eq 1 ];then

        start=0

        continue

    fi

    if [ $start -eq 1 ];then

        echo $line

    fi

done<file

8.awk的输出不打印第一列

awk '{sub(/^[^[:space:]]*[[:space:]]+/,"");print}' test.txt

或者awk '{$1="";print $0}' test.txt

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2013年09月14日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档