Sed
sed 's/\s.*$//'
Grep
grep -o '^\S*'
Awk
awk '{print $1}'
Seperti yang ditunjukkan dalam komentar, -o
bukan POSIX; namun baik GNU dan BSD memilikinya, jadi itu harus bekerja untuk kebanyakan orang.
Juga, \s
/ \S
mungkin tidak ada di semua sistem, jika sistem Anda tidak mengenalinya, Anda dapat menggunakan ruang literal, atau jika Anda ingin ruang dan tab, yang ada dalam ekspresi kurung ( [...]
), atau [[:blank:]]
kelas karakter (perhatikan bahwa dengan tegas \s
adalah setara dengan [[:space:]]
dan termasuk karakter spasi vertikal juga seperti CR, LF atau VT yang Anda mungkin tidak peduli).
Yang awk
mengasumsikan garis tidak dimulai dengan karakter kosong.
<
ini berguna di sini?cut < file
vscut file
? Kemudian lihat unix.stackexchange.com/a/70759/22565atau
sumber
Dan yang melaluinya
perl
,Melalui GNU grep,
sumber