Linux 塞德:只是想删除一个子串
我有一个包含以下内容的文件:Linux 塞德:只是想删除一个子串,linux,shell,sed,Linux,Shell,Sed,我有一个包含以下内容的文件: foo: bar1 foo: bar2 foo: bar3 foo: bar4 foo: bar5 我想删除链“foo:”,因此文件保留: bar1 bar2 bar3 ... 我正在尝试: $ sed 's/foo: /' file.txt 但它说: sed:-e表达式#1,字符15:未终止的's'命令 有什么帮助吗 Javi您需要: $ sed -r
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5
我想删除链“foo:”,因此文件保留:
bar1
bar2
bar3
...
我正在尝试:
$ sed 's/foo: /' file.txt
但它说:
sed:-e表达式#1,字符15:未终止的's'命令
有什么帮助吗
Javi您需要:
$ sed -r 's/^foo: //' file.txt
对于此简单任务,您可以使用
cut
:
cut -b 11- INPUTFILE
嗯
或
grep-Po'(?您的文件
[jaypal:~/Temp] cat file
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5
[jaypal:~/Temp] cut -d";" -f2 file
bar1
bar2
bar3
bar4
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] cat file
foo: bar1
foo: bar2
foo: bar3
foo: bar4
foo: bar5
[jaypal:~/Temp] cut -d";" -f2 file
bar1
bar2
bar3
bar4
bar5
使用sed剥离子字符串然后复制到粘贴缓冲区的实际示例(linux)
在linux上扫描自动热键配置文件(很遗憾,linux没有自动热键)。“::”在AHK中用作分隔符
grep -Eie "xxx::" AutoHotkey.ahk | sed 's/^.*:://' | xclip
如果文件只有上面的内容,那么sed's/*;//'file.txt
就足够了吗?@poton是的,那也可以。不过,IMHO最好更具体一些。你永远不知道,对吧?-r
在这种情况下是不必要的,在sed
的某些版本中是不可用的。