sed 删除 select 字符以及行中第一次出现字符之前的所有内容
sed remove select char and everything before first occurrence of character in line
我找到这个正则表达式
sed -i 's/.*\(:.*\)//g' file.txt
用于在 :
之前删除,但我也需要删除 :
,结果将此正则表达式应用于:
[09/11/2020 15:01:37] Name: Hello!
return:
Hello!
但我只需要
Hello!
您可以使用
sed -i 's/.*: *//' file.txt
这将删除最后 :
之前的所有文本,包括 :
和 :
.
之后的所有空格(如果有)
#!/bin/bash
s='[09/11/2020 15:01:37] Name: Hello!'
sed 's/.*: *//' <<< "$s"
# => Hello!
不要使用捕获组复制 :
之后的所有内容,而是将 :
之前的所有内容替换为空字符串。
sed -i 's/^.*://' file.txt
我找到这个正则表达式
sed -i 's/.*\(:.*\)//g' file.txt
用于在 :
之前删除,但我也需要删除 :
,结果将此正则表达式应用于:
[09/11/2020 15:01:37] Name: Hello!
return:
Hello!
但我只需要
Hello!
您可以使用
sed -i 's/.*: *//' file.txt
这将删除最后 :
之前的所有文本,包括 :
和 :
.
#!/bin/bash
s='[09/11/2020 15:01:37] Name: Hello!'
sed 's/.*: *//' <<< "$s"
# => Hello!
不要使用捕获组复制 :
之后的所有内容,而是将 :
之前的所有内容替换为空字符串。
sed -i 's/^.*://' file.txt