由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Linux版 - 请问一个awk的问题
相关主题
弱问:GDB怎样停在出错的语句上(行号也行)how to copy one file into another?
awk问题求救how to rename files -- waiting on line
求教awk的问题问个grep正则匹配的问题
奇怪的bash bug!问个shell编程小问题
Shell 求助html给php传文件的问题,求解!
我用vi是不是out了问个awk查找字符串的问题
码工码农,帮忙了! (转载)怎么实现这个alias
今天拿到了atom editor的测试邀请问一个命令行的功能
相关话题的讨论汇总
话题: awk话题: nr话题: file话题: mark话题: 打印
进入Linux版参与讨论
1 (共1页)
R******d
发帖数: 1436
1
文件中第二行开始,到某个匹配行都不打印,其他行打印,怎么通过awk实现,谢谢。
下面这个实现的刚好是个反的:

awk 'NR==2,/mark/' file
y****i
发帖数: 4109
2
(head -1 file) && (sed '1, /mark/d' file)
R******d
发帖数: 1436
3
有基于awk的通用写法么?
y****i
发帖数: 4109
4
(awk 'NR==1' file && awk '/mark/{i=!i;next}i' file ) >>newfile
R******d
发帖数: 1436
5
高手好用, 可以解释一下这段的逻辑么 awk '/mark/{i=!i;next}i'

【在 y****i 的大作中提到】
: (awk 'NR==1' file && awk '/mark/{i=!i;next}i' file ) >>newfile
y****i
发帖数: 4109
6

哈不是高手。
最后那个i的意思是: 如果该值非零,就print $0, 否则不打印,i初始缺省值是0。
这个程序就是说,逐行扫描,一开始没有match,不执行{}中内容, i 都是0 故不打印。
碰到match以后执行{}中的语句,把i变成非零,next就是跳到下一行。
其实这样也可以 '/mark/{i=1;next} i' 非零值可以是1,2, 3 ,-1...

【在 R******d 的大作中提到】
: 高手好用, 可以解释一下这段的逻辑么 awk '/mark/{i=!i;next}i'
p****n
发帖数: 51
7
NR 是行号,判断一下就好了。比如第二行到第60行不打印,其他行打印。
awk '{ if (NR < 2 || NR > 60) print $0 }' file

【在 R******d 的大作中提到】
: 文件中第二行开始,到某个匹配行都不打印,其他行打印,怎么通过awk实现,谢谢。
: 下面这个实现的刚好是个反的:
:
: awk 'NR==2,/mark/' file

c****n
发帖数: 89
8
awk 'NR==2,/mark/{next}1' file

【在 R******d 的大作中提到】
: 文件中第二行开始,到某个匹配行都不打印,其他行打印,怎么通过awk实现,谢谢。
: 下面这个实现的刚好是个反的:
:
: awk 'NR==2,/mark/' file

M**********r
发帖数: 2
9
linux小白学习了
z*****g
发帖数: 810
10
sed is better to use in this case
1 (共1页)
进入Linux版参与讨论
相关主题
问一个命令行的功能Shell 求助
求教vim下面的pythoncomplete配置我用vi是不是out了
请问快速匹配文本内容的方法码工码农,帮忙了! (转载)
when does ubuntu next lts come out?今天拿到了atom editor的测试邀请
弱问:GDB怎样停在出错的语句上(行号也行)how to copy one file into another?
awk问题求救how to rename files -- waiting on line
求教awk的问题问个grep正则匹配的问题
奇怪的bash bug!问个shell编程小问题
相关话题的讨论汇总
话题: awk话题: nr话题: file话题: mark话题: 打印