shell脚本,执行src_path=$(awk '{print}' t_task.txt) ,为什么src_path仅得到t_task.txt最后一行的数据?
shell脚本,执行src_path=$(awk -F "/" '{print}' t_task.txt) ,为什么src_path仅得到t_task.txt最后一行的数据?
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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 数传问题