xurfyc 2020-10-14 16:18 采纳率: 0%
浏览 37

shell脚本,执行src_path=$(awk -F "/" '{print}' t_task.txt) ,为什么src_path仅得到t_task.txt最后一行的数据?

shell脚本,执行src_path=$(awk '{print}' t_task.txt) ,为什么src_path仅得到t_task.txt最后一行的数据?
图片说明

  • 写回答

1条回答 默认 最新

  • 你知我知皆知 2024-07-25 04:38
    关注

    以下回答参考 皆我百晓生券券喵儿 等免费微信小程序相关内容作答,并由本人整理回复。

    在Linux shell中,awk命令使用-F参数指定分隔符。在这个例子中,我们使用"/"作为分隔符。

    当你运行 awk '{print}' t_task.txt时,awk会逐行读取文件并打印每一行的内容。由于你的脚本将输出的每一行都用引号括起来("),所以awk没有能够识别到这些引号内的数据,而是将其视为单独的一行。因此,当awk看到'apos;'字符串时,它认为这是一个新的行开始,并跳过了前面的所有数据,只处理了apos;后面的内容。

    如果你想要从文件中提取出所有包含apos;的行,你可以尝试以下方式:

    awk '{if($0~apos;) print $0}' t_task.txt
    

    这将会把所有的包含apos;的行都打印出来。请注意,这个方法可能会改变原始文件中的顺序,因为awk是按照字典序排序的,所以可能不是你期望的结果。如果你不希望改变文件结构,可以考虑使用其他方法来实现你的需求。

    评论

报告相同问题?

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题