1

英数字以外の文字、スペース以外の文字、およびダッシュ以外のアンダースコア文字をすべて削除しようとしています

echo "$1" |sed 's/[^a-zA-Z0-9[:space:]]//g'

のようなものが欲しい

echo "$1" |sed 's/[^\-\_a-zA-Z0-9[:space:]]//g'

2 つの正規表現ルールを混在させるにはどうすればよいですか?

サンプル入力は次のとおりです。

a-b
a_b
ab
a..
a.b
a   b
a %b
a ^&n

私はこの出力が欲しい:

a-b
a_b
ab
a
ab
a b
a b
a n
4

1 に答える 1

2

これは GNU sed で動作します:

sed 's/[^-_a-zA-Z0-9[:space:]]//g' file
$ 猫ファイル
ab
a_b
ab
..
ab
ab
%b
^&n

$ sed の/[^-_a-zA-Z0-9[:space:]]//g' ファイル
ab
a_b
ab
a
ab
ab
ab
を
于 2013-08-17T11:41:52.653 に答える