0

我有两个特殊字符,我想在 shell 中获取它们之间的内容。

不要使用 awk ,因为我的 linux 找不到 awk。

4

3 回答 3

3
echo "ABxxxDE" | sed -e 's/AB\(.*\)DE/\1/g'

将打印出:

xxx
于 2012-12-25T03:51:00.200 回答
2
 $ sed -n '/WORD1/,/WORD2/p' /path/to/file 
 $ sed -n '/FOO/,/BAR/p' test.txt
于 2012-12-25T06:13:03.343 回答
2
echo "This is a #TEST%" | grep -o \#[a-zA-Z.0-9]*\%

将产生

#TEST%

您还可以使用 sed.. 去除特殊字符。

echo "This is a #TEST%" | grep -o \#[a-zA-Z.0-9]*\% | sed 's/#//g' | sed 's/%//g'

屈服

TEST
于 2012-12-26T20:01:56.223 回答