Linux 匹配图案,然后转到下一个条件并打印详细信息
这是我的演示文件:demo.txtLinux 匹配图案,然后转到下一个条件并打印详细信息,linux,bash,shell,Linux,Bash,Shell,这是我的演示文件:demo.txt CP Used ----------------------------------- -------------- gyhjjjjjjjjjjjjj gdhdhsdjjsdjsd ----------------------------------- -------------- list: 21305 DP
CP Used
----------------------------------- --------------
gyhjjjjjjjjjjjjj
gdhdhsdjjsdjsd
----------------------------------- --------------
list: 21305
DP Used
----------------------------------- --------------
asghjskkkkkkkkkkfe jfdkjcdf
ashdjdjksd
----------------------------------- --------------
list: 203899
这里我想匹配DP,然后匹配列表并打印详细信息
预期产出为:
21305,"CP"
203899,"DP"
使用awk解析简单表:
awk '$2=="Used"{x=$1}; $1=="list:"{print $2",\""x"\""}' Demo.txt
- 如果列2包含已使用的
,则将列1的内容保存到变量,
x
- 如果第1列包含
,则打印第2列和变量列表:
的内容x
与Cyrus sir的方法相同,在使用变量和对字符串
列表值使用$NF
方面略有不同,如下所示
awk -v s1="\"" -v s2="," '/Used/{val=$1;next} /list:/{print $NF s2 s1 val s1;val=""}' Input_file
不清楚,请重新将示例正确包装到代码标记中。在你的文章中也要展示你为解决这个问题所付出的努力。堆栈溢出不是一种代码编写服务。我们真的需要一个“Givez-mez-the-codez”堆栈交换。@jww,我不想在这里讨论,但如果一个人是新的编码或新的,我们可以给他/她学习的机会(至少他们可以有几个帖子),然后我们可以在这里推动他们更多地学习(我也同意)。简单地放弃选票会让人泄气(特别是像我这样不是专家但试图通过帮助别人来学习的人)。