私は数字の行を持つファイルとファイルがあります:私はちょうど私の最初の数字を与えるためにはgrep、awkは、または他のいくつかのコマンドを使用するにはどうすればよいGrepの行の最初の数
2 20 3 file1.txt
93 21 42 file2.txt
52 10 12 file3.txt
を各行には次のように表示されます:
2
93
52
ありがとうございます。
私は数字の行を持つファイルとファイルがあります:私はちょうど私の最初の数字を与えるためにはgrep、awkは、または他のいくつかのコマンドを使用するにはどうすればよいGrepの行の最初の数
2 20 3 file1.txt
93 21 42 file2.txt
52 10 12 file3.txt
を各行には次のように表示されます:
2
93
52
ありがとうございます。
非常に多くの方法を使用することができます。
awk '{print $1}' gash.txt
又は純粋なbashの使用:ここではいくつかの(gash.txt
を入力ファイルであると仮定される)
sed 's/[ \t]*\([0-9]\{1,\}\).*/\1/' gash.txt
又はsed
とEREを使用して:
while read num rest
do
echo $num
done < gash.txt
をまたは使用sed
"古典的な" :
sed -E 's/[ \t]*([0-9]+).*/\1/' gash.txt
cut
を使用すると、空白が空白かタブかわからないので問題があります。あなたが行の合計数を追加したい場合はところで
は、:
awk '{total+=$1} END{print "Total:",total}' gash.txt
あなたはこれを使用することができます:
grep -oE '^\s*[0-9]+' filename
は先頭のスペースを扱うために、私は選択肢のうち、現在はね。あなたはawkの答えをうまく受け入れます。
をあなたは '[]'単一のスペースのため(それが援助の可読性を行いますが)の最初のセットを必要としません、ファイル形式がわからないので、 '[\ t] *'や '\ s *'を考慮する方が良いかもしれません。 – cdarke
@cdarke:ありがとう、答えを更新しています。 – blackSmith
それはうまく、私は数字が欲しかった! –
あなたはこれを行うにはawk
awk '{print $1}' file
ありがとう、あなたは私の心を合計で読む:) –
また、複数のファイルを 'wc'に渡すと、デフォルトで合計が表示されることに注意してください。 – anishsane