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