sed/awk を使用して、最初の空白以降のエントリを削除します。

sed/awk を使用して、最初の空白以降のエントリを削除します。
aaaaaaaa 09  
bbbbbbbb 90   
ccccccccccccccc  89  
ddddd 09

sed/awk/replace を使用して、上記のテキストから各行の最初のスペースの後のすべてのエントリを削除したいと思います。たとえば、出力は次のようになります。

aaaaaaaa  
bbbbbbbb    
ccccccccccccccc  
ddddd 

どんな助けでも大変感謝します。

答え1

sed 's/\s.*$//'

grep

grep -o '^\S*'

アッ

awk '{print $1}'

コメントで指摘したように、-oこれはPOSIXではありませんが、GNUとBSDにはあるので、ほとんどの人にはうまくいきます。

また、\s/はすべてのシステムに存在しない可能性があります\S。システムがそれを認識しない場合は、リテラルスペースを使用できます。または、スペースとタブが必要な場合は、対応するまたは[...]角かっこ式()クラスの[[:blank:]]文字を使用できます。気にしない可能性があるCR、LF、またはVTだけでなく、縦間隔の文字と\s同じであり、含まれています。[[:space:]]

awk 行が空白文字で始まらないとします。

答え2

cut -d ' ' -f 1 < your-file

最も効果的です。

答え3

awk '{print $1}' file

または

sed 's/ .*//'

答え4

そして通り過ぎたその人perl

$ perl -pe 's/^([^ ]+) .*$/\1/' file
aaaaaaaa
bbbbbbbb
ccccccccccccccc
ddddd

GNU grepを通じて、

$ grep -oP '^[^ ]*' file
bbbbbbbb
ccccccccccccccc
ddddd

関連情報