我正在尝试拆分字符串以获取字符串标记后的文本。我被告知使用sed可能是明智的,但我不确定如何实现它。
我在文件中有以下文字:
/#text
/#difftext
....
我基本上想要遍历并获取/#
之后的文本这是我到目前为止所做的:
while read line
do
if [[ ${line} == */#" ]]
#split line to get text
done < ${FILE}
答案 0 :(得分:1)
grep -Po '/#\K.*'
或
sed 's@/#@@'
答案 1 :(得分:1)
如果您已在变量中包含该行,则可以使用字符串替换:
$ line='/#text /#difftext ....'
$ echo ${line##*/#}
difftext ....
答案 2 :(得分:0)
while read line
do
if [[ ${line} =~ ^.*/# ]]; then
echo ${line##*#}
fi
done <file