次の行があります。
some.com *.some.com
キーボードの矢印を移動するときに一度だけ動かすと、最後に移動するため、スペースはタブスペースのように見えます(複数のスペースを使用するにはキーボードの矢印を数回移動する必要があるため、複数のスペースがあるようには見えません)。
この空間は私に問題を引き起こします。以下を行う必要があります。
それが何であるかを見てください。
単一のスペースで置き換えます。
どうすればいいですか?複数のスペースを削除してみましたが、単一の文字を削除できないようです。
編集する:
追加情報です。この行を使用するプログラムは、次のような苦情を表示します。Invalid control character
答え1
タブ文字です。
tr -s '[:blank:]' ' ' <file >newfile
tr
これは、ファイルのタブまたはスペースを単一のスペースに置き換えるために使用されます。出力の複数のスペースが単一のスペースに圧縮されます。結果はに記録されますnewfile
。
単一のタブ文字を単一のスペースに置き換えるには、次のようにします。
tr '\t' ' ' <file >newfile
答え2
キャラクターが何であるかを確認するには:
less -r sourcefile
または
od -c sourceFile
もっと詳しく見るには。
unix-linux-sed-ascii-制御コード-印刷不可能
sed
問題のある制御コードを見つけるには:
sed 's/'`echo "\033"`'/ /g'
どこに\033
実際に存在するものに置き換えられます。
答え3
また、これを使用して終了することができます
sed -E "s,[[:space:]]+, ,g" /tmp/test
これは、単一または複数の「スペース」(スペース、タブ)を単一の「スペース」に置き換えます。
$ cat /tmp/test
sdfsdfsdf sdfsdfsdfsd
sdflksjdf sdfélsdkfésldkf ss
結果
$ sed -E "s,[[:space:]]+, ,g" /tmp/test
sdfsdfsdf sdfsdfsdfsd
sdflksjdf sdfélsdkfésldkf ss