特定の要素を削除する sed 構文

特定の要素を削除する sed 構文

「sed」を使って「\n」、「\r」、「connected」を削除したいと思います。そして文字列に""があります。

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///sedただし、次のオプションを使用して、ファイル全体を一度に操作する-z(大容量ファイルには悪い)GNUの単一のディレクティブを使用できます。

sed -z -r -e 's/Connected\.|\n|\r| //g'

おすすめ記事