我有一个包含此内容的文件:
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5
我想删除链“foo:”,因此文件仍为:
bar1
bar2
bar3
...
我正在尝试:
$ sed 's/foo: /' file.txt
但它说:
sed:-e表达式#1,字符15:未终止的's'命令
任何帮助?
哈维
答案 0 :(得分:22)
你需要:
$ sed -r 's/^foo: //' file.txt
答案 1 :(得分:7)
您的file
[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
使用cut
[jaypal:~/Temp] cut -d";" -f2 file
bar1
bar2
bar3
bar4
bar5
答案 2 :(得分:2)
对于这个简单的任务,您可以使用cut
:
cut -b 11- INPUTFILE
HTH
答案 3 :(得分:1)
awk -F';' '{print $2}' file
或
grep -Po '(?<= ).*$' file
答案 4 :(得分:0)
使用sed剥离子字符串然后复制到粘贴缓冲区(linux)的实际示例
在linux上扫描Autohotkey配置文件(遗憾的是没有linux的autohotkey)。 &#39; ::&#39;在AHK中用作分隔符
grep -Eie "xxx::" AutoHotkey.ahk | sed 's/^.*:://' | xclip