【问题标题】:How to remove path details from a file using shell script如何使用 shell 脚本从文件中删除路径详细信息
【发布时间】:2018-05-19 15:03:42
【问题描述】:

我有一个包含文件详细信息及其位置的输出文件。但我只需要文件名,因为每次执行脚本时路径可能会有所不同。

例如: result.out 包含以下数据-

This is my script location (c:/users/san/server.sh)

我希望 result.out 包含如下数据 -

This is my script location (server.sh)

【问题讨论】:

  • 欢迎来到 SO,请提及您的文件/样本的所有详细信息,以便更好地理解问题。
  • 你能用code formatting吗?也许阅读how do i format my code blocks? result.out 应该包含什么?下面什么都没有。
  • 您是在问如何更改产生输出的程序(答案将取决于所使用的语言),或者如何通过现有文件并修改所有“看起来像”路径的字符串,或者如何编辑文件以仅修改包含字符串“这是我的脚本位置”、....或其他内容的任何行上括号中出现的字符串?
  • 如果您的脚本当前生成带有echo "This is my script location ($path)" 之类的行,您可能只需将($path) 更改为($(basename "$path"))
  • 试试echo "$s" | sed 's,(.*/,(,'

标签: shell awk sed


【解决方案1】:

下面的 sed 单线就可以了:

$ sed 's/([a-zA-Z]:[^)]*\/\(.*\)/(\1/g' file.txt

如果您的所有完整路径都在括号内,则此方法有效

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-03
    • 2014-08-02
    • 2019-08-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-21
    • 1970-01-01
    相关资源
    最近更新 更多