ファイルがあります:
1 2 5 6 8 0 0 0 0
1 2 5 6 8 0 0 0 0
1 2 5 6 8 0 0 0 0
1 2 5 6 8 0 0 0 0
すべてのゼロを削除したいと思います。
1 2 5 6 8
1 2 5 6 8
1 2 5 6 8
1 2 5 6 8
私は努力したtr -d [:0:]
。残念ながら、このように動作しないでください。
私はPerlがそれを行うことができると信じていますがsed
、正確にどうするかわかりません。
Google で検索しましたが、私の言葉を信じていたら、結果が混在して関連性がありましたが、最初のページで正しい結果が見つかりませんでした。
答え1
[8]root@lab711:> cat file
1 2 5 6 8 0 0 0 0
1 2 5 6 8 0 0 0 0
1 2 5 6 8 0 0 0 0
1 2 5 6 8 0 0 0 0
[8]root@lab711:> sed 's/0//g' file
1 2 5 6 8
1 2 5 6 8
1 2 5 6 8
1 2 5 6 8
答え2
答え3
ファイルからゼロをすべて削除するために使用するコマンドは代替のsed 's/0//g' filename
意味ですs
。/0
ファイルのすべての0を表します。何も置き換えません//
。g
世界を代表する
答え4
努力する
perl -pe 's/\s+0\b//g' <filename>
-p
ファイル行を繰り返し印刷します。$_
-e
実装する/g
グローバル(発生するすべて)- 正規表現は、
s/\s+0\b//
少なくとも1つのスペース、文字0
、単語の終わりの順序を削除します。
またはファイルの場所を置き換えるには
sed -ibbak -e 's/\s\+0\b//g' <filename>
-i
所定の位置に-b.bak
バックアップの作成(拡張子は.bac
)- ここで正規表現
+
文字はエスケープする必要があります。 \s
正規表現にスペースがあります\b
正規表現では、サフィックスという単語は次のとおりです。
リリースされることを願っています!