使用shell脚本读取text文件中Name字段值的实现方法求助
从output.txt提取Name字段取值的shell实现方法
方案1:直接使用awk单命令实现(最简洁)
命令如下:awk 'NR>4 {print $1}' output.txt解释:
NR>4表示匹配行号大于4的行(跳过前4行无效内容:OK行、桶信息行、空行、表头行),print $1表示打印该行的第一个空白分隔字段,也就是Name列对应的取值。
针对你给出的示例文件,运行后输出结果为:copra_ws_07_20_2021_13_47.zip方案2:sed+awk组合实现
命令如下:sed '1,4d' output.txt | awk '{print $1}'解释:先用
sed '1,4d'删除前4行无效内容,再通过awk提取第一列字段,效果和方案1完全一致。
如果需要将提取到的名称存入shell变量供后续使用,可以写为:
target_name=$(awk 'NR>4 {print $1}' output.txt) # 后续调用直接使用 $target_name 即可
适配说明:如果你的output.txt中存在多个对象条目,上述命令会自动提取所有条目的Name字段取值,逐行输出。
内容的提问来源于stack exchange,提问作者Raghunath Dhara
相关产品推荐
相关产品推荐

