小编ari*_*ris的帖子

我可以使用 grep 命令从文件中提取完整日期吗?

我需要帮助使用 grep 从 Linux 系统上的文件中提取分区日期时间。

源文件是一个 XML,包含以下数据:

<item start="20231010073000 +0100" stop="20231010100000 +0100">...</item>
Run Code Online (Sandbox Code Playgroud)

我需要提取完整的开始日期,但使用 grep 我无法得到完整的结果。我的代码:

for startDate in $(grep -Eo 'start="[0-9]{14} [\+|\-][0-9]{4}"' "$filepath" ); do
  echo "$startDate"
done
Run Code Online (Sandbox Code Playgroud)

我得到了两个不同的结果:

start="20231010073000
+0100"
Run Code Online (Sandbox Code Playgroud)

我可以得到它如下:

start="20231010073000 +0100"
Run Code Online (Sandbox Code Playgroud)

我尝试过\s[[:space:]]和其他示例,但使用相同的解决方案。

我的代码似乎有错误,但我无法修复它!

我很感谢任何形式的帮助!

grep bash xml text-processing

4
推荐指数
1
解决办法
836
查看次数

标签 统计

bash ×1

grep ×1

text-processing ×1

xml ×1