我想使用“sed”删除“\n”、“\r”、“已连接”。和字符串中的“”。
echo " Connected.
97 " | sed -e 's/[Connected.|\n|\r\ ]//g'
我期望返回的结果是“97”。
答案1
\n
经典 (POSIX) 无法以这种方式删除它们sed
,它们是行分隔符,而不是要进行替换的字符串的一部分s///
。之后应将其删除tr
:
sed -e 's/Connected\.//g' | tr -d ' \r\n'
(因为我们使用了tr
,所以我们让它删除每个感兴趣的字符)
s///
但是,您可以使用GNU 的单个指令sed
,它可以通过以下选项一次操作整个文件-z
(这对于大文件来说不是一个好主意):
sed -z -r -e 's/Connected\.|\n|\r| //g'