linux暂停pid,linux下pid命令

ps aux | grep tomcat|  awk '{if(NR==1)print $2}'

批量修改文件的分隔符,可以用FS和OFS命令

FS:Field Separator,字段分隔符

OFS:Out of Field Separator,输出字段分隔符

修改空格为分隔符

假设有这么一个文件file1.txt,其内容如下:

d351567b455556381aa539b74a520098.png

可以看出,file1的分隔符很长,不止一个空格符组成,因此我们需要先将分隔符统一一下,输入一下命令:

生成file2.txt,如下图片:

e624c03a83359a8100555e8fb58b9927.png

2. 修改分隔符为逗号

分隔符统一为一个空格,接下来将分隔符统一修改为逗号“,”,输入一下命令:

生成的文件file3.txt如下:

7d6cf9fbdfbc94f7cc4e41dd40382fb6.png

如果想将分隔符修改为冒号,只需要将OFS=","修改为OFS=":"

3.修改制表符为逗号

sampleID.txt文件如下:

005 018 105 100

首先判断文件是制表符还是空格:

如果是空格分割的,显示结果为:

005 018 105 100

如果是制表符分割,显示结果为:

005018105100

将制表符修改为逗号分隔符:

生成的sampleID_form.txt的内容如下:

005,018,105,100

使用awk命令获取文本的某一行,某一列

2016年08月18日 11:29:14 aywb1314 阅读数:37516更多

个人分类: shell

1、打印文件的第一列(域)                 : awk '{print $1}' filename2、打印文件的前两列(域)                 : awk '{print $1,$2}' filename3、打印完第一列,然后打印第二列  : awk '{print $1 $2}' filename4、打印文本文件的总行数                : awk 'END{print NR}' filename5、打印文本第一行                          :awk 'NR==1{print}' filename6、打印文本第二行第一列                :sed -n "2, 1p" filename | awk 'print $1'

#(获取test文件的第4行)

#cat test| awk 'NR==4'或cat test|sed -n '4p'直接获取某一行的数据

shell里面的赋值方法有两种,格式为1) arg=`(命令)`2) arg=$(命令)因此,如果想要把某一文件的总行数赋值给变量nlines,可以表达为:1) nlines=`(awk 'END{print NR}' filename)`或者

2) nlines=$(awk 'END{print NR}' filename)

awk练习题

wang     4

cui      3

zhao     4

liu      3

liu      3

chang    5

li       2

1 通过第一个域找出字符长度为4的

2 当第二列值大于3时,创建空白文件,文件名为当前行第一个域$1 (touch $1)

3 将文档中 liu 字符串替换为 hong

4 求第二列的和

5 求第二列的平均值

6 求第二列中的最大值

7 将第一列过滤重复后,列出每一项,每一项的出现次数,每一项的大小总和

1、字符串长度

awk 'length($1)=="4"{print $1}'

2、执行系统命令

awk '{if($2>3){system ("touch "$1)}}'

3、gsub(/r/,"s",域) 在指定域(默认$0)中用s替代r  (sed 's///g')

awk '{gsub(/liu/,"hong",$1);print $0}' a.txt

4、列求和

df -h | awk '{a+=$2}END{print a}'

5、列求平均值

df -h | awk '{a+=$2}END{print a/NR}'

df -h | awk '{a+=$2;b++}END{print a,a/b}'

6、列求最大值

df -h | awk 'BEGIN{a=0}{if($2>a) a=$2 }END{print a}'

7、将第一列过滤重复列出每一项,每一项的出现次数,每一项的大小总和

awk '{a[$1]++;b[$1]+=$2}END{for(i in a){print i,a[i],b[i]}}'

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值