gpt4 book ai didi

linux - 从记录的文件名中删除空格

转载 作者:太空宇宙 更新时间:2023-11-04 12:32:57 24 4
gpt4 key购买 nike

在 linux 机器上,我试图从一些详细说明文件列表的日志条目中删除空格。

IE:/path/to/some/file 有 spaces.file

但是,在这些行中还有很多其他文本,我希望保留空白以保持格式一致。

我试过使用 sed,但我对如何构造正则表达式非常不熟悉。

sed -e 's/ *\/\.//g' file.log

最佳答案

使用 sed,在找到第一个 / 后删除空格:

sed ':a;s/\(\/[^ ]*\) /\1/;ta;' file.log

工作原理:

  • \(\/[^ ]*\):在第一个 / 之后,非空格字符被捕获到(但不包括)下一个空格。捕获组使用反向引用输出。
  • ta:如果之前的替换成功,ta循环到标签a处理剩余空格

编辑:

删除 / 到下一个 的空格。:

sed ':a;s/\(\/[^ .]*\) /\1/;ta;' file.log

或在 ERE 模式下避免转义括号:

sed -r ':a;s/(\/[^ .]*) /\1/;ta;' file.log

关于linux - 从记录的文件名中删除空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42789049/

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