Xiaoxing He分享 http://blog.sciencenet.cn/u/hexiaoxing

博文

Linux:使用awk命令获取文本的某一行,某一列,awk删除文件第一

已有 37760 次阅读 2016-1-22 20:21 |个人分类:Shell Script|系统分类:科研笔记

http://blog.163.com/yuanwuhen@126/blog/static/16671908420129111443343/

http://ttyunix.blogbus.com/logs/62232899.html

 

awk 'NR>1' AIRA_GPS.aload>ccc

去掉第一行



awk 'NR>2{print p}{p=$0}' urfile
第一行时, NR=1, 不执行print, p=第一行的内容
第二行时, NR=2, 不执行print, p=第二行的内容
第三行时, NR=3, 执行print p,此时p=第二行的内容, 即打印第二行, 然后p=第三行
............
最后一行时, 执行print p, 打印倒数第二行, 然后p=最后一行

也就是去除了第一行和最后一行






awk 'NR==1{print}' albh.xyz>165/albh.xyz

提取第一行


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

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

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

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


awk删除文件第一列
1.采用awk
awk '{$1="";print $0}'  file
2.采用sed
sed -e 's/[^]* //'  file
sort -R file  
随机排列文件

awk 删除文本文件换行符 


# awk 'NR == 1 {p = $0} NR > 1 {print p; p = $0} END{printf p} ' SerialNumber.dat > tmp.txt
# cp tmp.txt SerialNumber.dat





https://blog.sciencenet.cn/blog-2985083-951955.html

上一篇:Ubuntu 13.04设置root用户登录界面
下一篇:四分位数间距
收藏 IP: 59.172.176.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-10-21 11:22

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部