sed:只是想删除一个子字符串

发布于 2024-12-19 08:20:09 字数 405 浏览 0 评论 0原文

我有一个包含以下内容的文件:

foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5

我想删除链“foo: ”所以文件仍然存在:

bar1
bar2
bar3
...

我正在尝试使用:

$ sed 's/foo: /' file.txt

但它说:

sed:-e 表达式 #1,字符 15:未终止的“s”命令

有帮助吗?

哈维

I have a file with this content:

foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5

I want to remove the chains "foo: " so the file remains:

bar1
bar2
bar3
...

I'm trying it with:

$ sed 's/foo: /' file.txt

but it says:

sed: -e expression #1, char 15: unterminated `s' command

Any help?

Javi

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

瘫痪情歌 2024-12-26 08:20:09

您需要:

$ sed -r 's/^foo: //' file.txt

You need to:

$ sed -r 's/^foo: //' file.txt
凉栀 2024-12-26 08:20:09

您的文件

[jaypal:~/Temp] cat file
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5

使用awk

[jaypal:~/Temp] awk -F";" '{print $NF}' file
bar1
bar2
bar3
bar4
bar5

使用sed

[jaypal:~/Temp] sed 's/.*;//' file
bar1
bar2
bar3
bar4
bar5

<强>使用剪切

[jaypal:~/Temp] cut -d";" -f2 file
bar1
bar2
bar3
bar4
bar5

Your file

[jaypal:~/Temp] cat file
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5

Using awk:

[jaypal:~/Temp] awk -F";" '{print $NF}' file
bar1
bar2
bar3
bar4
bar5

Using sed

[jaypal:~/Temp] sed 's/.*;//' file
bar1
bar2
bar3
bar4
bar5

Using cut

[jaypal:~/Temp] cut -d";" -f2 file
bar1
bar2
bar3
bar4
bar5
挽容 2024-12-26 08:20:09

对于这个简单的任务,您可以使用 cut

 cut -b 11- INPUTFILE

HTH

For this simple task you can use cut:

 cut -b 11- INPUTFILE

HTH

孤千羽 2024-12-26 08:20:09
awk -F';' '{print $2}' file

或者

grep -Po '(?<= ).*
 file
awk -F';' '{print $2}' file

or

grep -Po '(?<= ).*
 file
岁月如刀 2024-12-26 08:20:09

使用 sed 剥离子字符串然后复制到粘贴缓冲区的实际示例 (linux)
扫描 Linux 上的 Autohotkey 配置文件(遗憾的是 Linux 上没有 autohotkey)。 '::' 在 AHK 中用作分隔符

grep -Eie "xxx::" AutoHotkey.ahk | sed 's/^.*:://' | xclip

Practical example using sed to strip off a substring and then copy to paste buffer (linux)
Scanning an Autohotkey config file on linux (sadly no autohotkey for linux) . '::' is used as a delimiter in AHK

grep -Eie "xxx::" AutoHotkey.ahk | sed 's/^.*:://' | xclip
べ映画 2024-12-26 08:20:09

OP 要求更改文件

因此,如果您想更改FILE,请使用-i

sed -i 's/^foo: //' file.txt

OP is asking to change the FILE.

So, if you want to change the FILE, use -i:

sed -i 's/^foo: //' file.txt
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文