回答:
「すべての空白スペースを削除する」とは、次のいずれかを意味します。
0x20
。\t
」を含むすべての水平スペースを削除します\n
」などを含むすべての空白を削除しますsed
それが何らかの隠れた理由の要件ではない場合は、ジョブに適したツールを使用することをお勧めします。
このコマンドtr
の主な用途は、文字のリストを他の文字のリストに変換することです(そのため「tr」という名前になります)。まれに、空の文字リストに変換できます。オプション-d
(--delete
)は、リストに表示される文字を削除します。
文字のリストは、[:...:]
構文で文字クラスを使用できます。
tr -d ' ' < input.txt > no-spaces.txt
tr -d '[:blank:]' < input.txt > no-spaces.txt
tr -d '[:space:]' < input.txt > no-spaces.txt
sed
sedでは、[:...:]
文字クラスの構文をregexpsの文字セットの構文と組み合わせる必要があり[...]
、やや混乱します[[:...:]]
。
sed 's/ //g' input.txt > no-spaces.txt
sed 's/[[:blank:]]//g' input.txt > no-spaces.txt
sed 's/[[:space:]]//g' input.txt > no-spaces.txt
tr -d ' ' < input.txt > no-spaces.txt
。
tr
ます。(他のどこかで見ますか?)