如何使用awk仅抓取;“U package.rpm”的名称;

如何使用awk仅抓取;“U package.rpm”的名称;,awk,yum,Awk,Yum,我试图从CentOS 7提供的10000多个软件包列表中只获取“name\u of_package.rpm”。我尝试过awk和grep的各种迭代/组合,但都没有成功。我尝试过使用谷歌和这里其他问题的一些想法,但目前似乎什么都不适合我。感谢您的帮助 awk -F '\w' '{print $2}' /data/rpm-list cat /data/rpm-list | grep -o "\w*\.rpm\w*"\ cat /data/rpm-list | grep -o "*\.rpm" 这就是

我试图从CentOS 7提供的10000多个软件包列表中只获取“name\u of_package.rpm”。我尝试过awk和grep的各种迭代/组合,但都没有成功。我尝试过使用谷歌和这里其他问题的一些想法,但目前似乎什么都不适合我。感谢您的帮助

awk -F '\w' '{print $2}' /data/rpm-list
cat /data/rpm-list | grep -o "\w*\.rpm\w*"\
cat /data/rpm-list | grep -o "*\.rpm"
这就是我试图解析的内容:

[   ]   389-ds-base-1.3.8.4-15.el7.x86_64.rpm   2018-11-12 14:21    1.7M     
[   ]   389-ds-base-devel-1.3.8.4-15.el7.x86_64.rpm 2018-11-12 14:21    271K     
[   ]   389-ds-base-libs-1.3.8.4-15.el7.x86_64.rpm  2018-11-12 14:21    698K     
[   ]   389-ds-base-snmp-1.3.8.4-15.el7.x86_64.rpm  2018-11-12 14:21    167K     

我只想要“name\u of_package.rpm”,不带“[]”、日期或大小。我完全打算通过一个脚本来传递此列表,该脚本将所有内容及其依赖项下载到我可以脱机使用的个人实验室服务器。干杯

从所显示的示例输入来看,您可以简单地执行(同样完全基于所显示的示例输入文件)


编辑:如果您更想了解字段编号及其字段值,那么您也可以运行以下命令

awk '{for(i=1;i<=NF;i++){print "Field number is: "i " Field value is: "$i}}' Input_file

awk'{for(i=1;iHoly cow!非常感谢!我不明白为什么它不被视为第二个字段。从逻辑上讲,通过查看它来做2美元是有意义的。我想我没有考虑空白。谢谢!@Nick,你也可以选择它作为正确答案,我也会在几分钟内为字段理解添加一些解释。
awk '{for(i=1;i<=NF;i++){print "Field number is: "i " Field value is: "$i}}' Input_file