免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2312 | 回复: 6
打印 上一主题 下一主题

[文本处理] 如何用gawk将变量的值进行打印? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2019-11-18 09:04 |只看该作者 |倒序浏览
  1. [root@zx-ops-test-01 ~]# cat wget.log | grep '^[0-9]\{4\}-[0-9][0-9]-[0-9][0-9]' | gawk '{print $6}'
  2. ‘/data/third_parth/tcl8.5.18-src.tar.gz’
  3. ‘/data/third_parth/tcl8.6.1-src.tar.gz’
  4. ‘/data/third_parth/redis-3.2.3.tar.gz’
复制代码
如上图代码,,我想提取tcl8.5.18-src.tar.gz这样子的报告,,我想用变量进行传递,就是将‘/data/third_parth/tcl8.5.18-src.tar.gz’
‘/data/third_parth/tcl8.6.1-src.tar.gz’、‘/data/third_parth/redis-3.2.3.tar.gz’值存在一个变量中,再对这个变量进行格式化,可是怎么进行传递?
当然其他方法也行,,我目前想到这种方法,可是我不知道如何将这几个值存储在变量中?

论坛徽章:
0
2 [报告]
发表于 2019-11-18 09:05 |只看该作者
就是一条命令即可,不要脚本化操作

论坛徽章:
0
3 [报告]
发表于 2019-11-18 09:54 |只看该作者
哈哈,,我真聪明,,灵机一动,想到呢
可以这样做
[root@zx-ops-test-01 ~]# cat wget.log | grep '^[0-9]\{4\}-[0-9][0-9]-[0-9][0-9]' | gawk '{print $6}'  | gawk -F"/" '{print $4}'

神奇的命令

论坛徽章:
0
4 [报告]
发表于 2019-11-18 09:55 |只看该作者
我想问下,,就是能否通过gawk把输出的报告存在一个变量中呢?

论坛徽章:
0
5 [报告]
发表于 2019-11-18 10:10 |只看该作者
还是有问题?
输出多了个',,怎么去除这个‘?
tcl8.5.18-src.tar.gz’
tcl8.6.1-src.tar.gz’
redis-3.2.3.tar.gz’

论坛徽章:
0
6 [报告]
发表于 2019-11-18 15:15 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
6
程序设计版块每日发帖之星
日期:2016-05-11 06:20:00操作系统版块每日发帖之星
日期:2016-05-12 06:20:00每日论坛发贴之星
日期:2016-05-12 06:20:00操作系统版块每日发帖之星
日期:2016-05-14 06:20:00程序设计版块每日发帖之星
日期:2016-05-31 06:20:00每日论坛发贴之星
日期:2016-05-31 06:20:00
7 [报告]
发表于 2019-11-19 12:32 |只看该作者
本帖最后由 1cpuer 于 2019-11-19 12:51 编辑

# bash:root [14028] 2019-11-19 12:15:55 1574136955 /media/buku/dic1-d # echo ''\''q /data/third_parth/tcl8.6.1-src.tar.gz'\'''
'q /data/third_parth/tcl8.6.1-src.tar.gz'


# bash:root [14029] 2019-11-19 12:16:10 1574136970 /media/buku/dic1-d # echo ''\''q /data/third_parth/tcl8.6.1-src.tar.gz'\''' | gawk -F"/" '{print $4}'
tcl8.6.1-src.tar.gz'

#:--gawk 大概就是gunawk 简称, awk 默认分隔符为空[\x20] | [ ] | [\ ],将"/" 作为分隔符,打印第4列

# bash:root [14034] 2019-11-19 12:30:19 1574137819 /media/buku/dic1-d # echo ''\''q /data/third_parth/tcl8.6.1-src.tar.gz'\''' | gawk -F"/" '{print $4}'| sed 's/\(tar.gz\)'\''/\1/'
tcl8.6.1-src.tar.gz
# bash:root [14056] 2019-11-19 12:44:29 1574138669 /media/buku/dic1-d # echo -e "1vvw1'"| sed 's/'\''$//g'
1vvw1
# bash:root [14064] 2019-11-19 12:49:53 1574138993 /media/buku/dic1-d # echo '/data/third_parth/tcl8.6.1-src.tar.gz'\''' | gawk -F"[/|']" '{print $4}'
tcl8.6.1-src.tar.gz
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP