カットを使用してフロントx可変スペースをトリミングする方法[閉じる]

カットを使用してフロントx可変スペースをトリミングする方法[閉じる]

次のファイルがあります。

              67 lol
             143 hi
              21 test
               1 ciao
               5 lo

スペースを削除したいです。

67 lol
143 hi
21 test
1 ciao
5 lo

私はsedを使ってこれを行うことができることを知っています。たとえば、次のようになります。

cat ciao | sed 's/[[:space:]]*\([[:digit:]]* .*\)/\1/' | sort -g

ところが教授様がカットを使えば簡単にこの作業ができると言われましたが…。実際にどうするかはわかりません。

このような:

cat ciao | rev | cut -d' ' -f1 | rev

番号情報を紛失したため動作しません。ハハこんにちはテストこんにちはルーオ

答え1

ファイルにスペースの代わりにタブがある場合は、次のようにのみ使用できますcut

cut -f2- < file

cutスペースを使用するだけでは十分ではありませんが、次のものを組み合わせて使用​​できます。trcut

tr -s ' ' < file | cut -d' ' -f2-

答え2

私は答えを見つけました:私はこれをすることができます:

cat ciao | rev | cut -d ' ' -f 1,2 | rev

番号情報を失わないために。働く!

答え3

教授が機能するコードを表示するまでは、自分が何を言っているのかわからないことを検討してください。このcutユーティリティは、単一文字で区切られた列を抽出するツールです。あなたのデータはそうではありません。

行の先頭のスペースのみを削除するには、次のsedコマンドを使用して、各行の先頭からゼロ個以上のスペースを一致させることで削除できます。

sed 's/^ *//' file

すべての行に最初の行と数字と単語の間にスペースが1つ(何も言わない)以外にスペースがないことがわかっている場合にのみ、cutandを使用してください。revあなたがことわざを持っている場合12 Abba Baab、それはもはや真実ではありません。

関連情報