gpt4 book ai didi

bash - 在 bash 中第二次出现 _(下划线)之后和点 (.) 之前提取值

转载 作者:行者123 更新时间:2023-11-29 09:35:07 25 4
gpt4 key购买 nike

我在一个临时目录中有一个文件,里面写了一些行。我的目标是提取第二个下划线和点 (.) 之间的值。例如,

这是 filesample.txt 的内容示例:

--rwxr-x---                    235 2016-08-24 05:13 File_Name_2696553.txt
--rwxr-x--- 1274 2016-09-14 04:44 File_Name_2852659.xls
--rwxr-x--- 1802 2016-09-14 05:04 File_Name_2852992.pdf

我所做的如下:

cat ${tmp}filesample.txt | cut -b64- | awk -F"." '{ print $1 }'

这给了我想要的输出。但是,我认为一个更好的解决方案是让代码看起来在第二个下划线和点之间。

这样,如果每行内容末尾的 7 位数字变为 8 或更多,我就不必返回我的脚本并进行调整,因为 cut -b64- 正在查看第 64 个位置字节。

这可能是一个基本问题,我是 bash 脚本的新手。

最佳答案

你可以使用awk:

awk '{split($NF, a, "[_.]"); print a[3]}' file

测试:

$ awk '{split($NF, a, "[_.]"); print a[3]}' file
2696553
2852659
2852992

关于bash - 在 bash 中第二次出现 _(下划线)之后和点 (.) 之前提取值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39513281/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com