1

標準入力から読み取り、すべての「/」を削除して、出力を標準出力に書き込みたい。したがって、次のものを含むファイル:

/ab1/1a6/ 17
/a/b/1

出力があります:

ab11a6 17
ab1

私はそれがこのようなものであるべきだと思います:

read input
sed -r 's/\/[^\/]*\/[^\/]*\/.*/"I not sure what do I need to put in here"/g'
echo $input

「交換」セクションを何に配置する必要があるのか​​、本当にわかりません。なにか提案を?

4

3 に答える 3

3
sed 's./..g'

/これにより、各行のすべての文字が削除されるため、置換セクションは必要ありません。を区切り文字として使用/してテキスト内でエスケープするs/\///gか、別の句読記号を区切り文字として選択できます。s./..g

したがって、 というファイルを変換しinput.txtて、出力を に書き込む場合output.txt:

sed 's./..g' input.txt > output.txt
# or
sed 's./..g' < input.txt > output.txt
于 2013-03-20T04:15:12.010 に答える
2

あなたが求めたことを行う最も簡単なプログラムは次のとおりです。

 tr -d '/' 

入力すると、出力に必要なものが得られます-/文字はありませんreadorechoステートメントは必要ありません

sed は、他の人が示したのと同じように動作します。tr & sed は、デフォルトで stdin から読み取り、stdout に書き込みます。

sed 's/\///g'
于 2013-03-20T04:17:26.130 に答える
1

何も...以下に示すように:

% echo "/ab1/1a6/ 17" | sed 's/\///g'
ab11a6 17
于 2013-03-20T04:14:42.090 に答える