regex - 使用 awk 时缺少一些文件夹名称
问题描述
我正在尝试在 /share/volume_repository 之后 grep 文件夹名称
c20_testprd_108
/share/volume_repository/c20_testprd_108_2018-01-0912:15:51.469
/share/volume_repository/test_testprd_20_2019-03-0504:03:24.24
/share/volume_repository/c20_testprd_109_2018-01-0912:11:32.915
/share/volume_repository/hp_testprd_2003_2018-10-2917:51:24.724
/share/volume_repository/hp_testprd_3335_2019-01-2220:00:17.139
/share/volume_repository/hp_testprd_2002_2018-10-2917:49:15.605
/share/shared_volume_repository/fnolan_ha_testprd_02_2018-06-2621:31:23.405
我试图通过 cut 和 awk 的组合来获取,如果我使用字段分隔符 _20 在 awk 中它会删除一些文件夹名称。
cat abc |cut -d '/' -f 4|awk -F '_20' '{print $1}'
输出:
c20_testprd_108
test_testprd
c20_testprd_109
hp_testprd
hp_testprd_3335
hp_testprd
fnolan_ha_testprd_02
预期的输出是
c20_testprd_108
test_testprd_20
c20_testprd_109
hp_testprd_2003
hp_testprd_3335
hp_testprd_2002
fnolan_ha_testprd_02
解决方案
使用 GNU awk:
awk '{print $4}' FS='/|_....-..-....' file
输出:
c20_testprd_108 test_testprd_20 c20_testprd_109 hp_testprd_2003 hp_testprd_3335 hp_testprd_2002 fnolan_ha_testprd_02
推荐阅读
- javascript - 负货币格式的正则表达式 - 2 个小数位 & 可以为负数
- amazon-web-services - 从 S3 存储桶文件填充 Redshift 中的外部模式表
- html - 我们可以在复选框的 [checked] 属性上使用方法将其设置为 true/false
- html - Flex 元素不起作用。我怎样才能修复我的代码来解决这个问题?
- neo4j - neo4j 图算法中的定性搜索
- javascript - 如何加载预选类别选项的页面
- java - 有没有办法用java复制/复制excel文件?
- ios - Swift - 检索数据后显示 UICollectionView
- python - 从字典的键和值中删除字符?
- neo4j - 在 Neo4j 中为每个组生成 UUID