Відповіді:
Сед
sed 's/\s.*$//'
Греп
grep -o '^\S*'
Awk
awk '{print $1}'
Як зазначено в коментарях, -oце не POSIX; однак і GNU, і BSD мають його, тому він повинен працювати для більшості людей.
Також \s/ \Sможе бути не у всіх системах, якщо ваша не розпізнає це, ви можете використовувати буквальний пробіл, або якщо ви хочете пробіл та вкладку, ті, які містяться в дужці виразом ( [...]), або [[:blank:]]клас символів (зауважте, що строго кажучи \sце еквівалентний [[:space:]]і включає символи вертикального проміжку, а також CR, LF або VT, які вам, мабуть, не цікаві).
awk Один передбачає , що лінії не починаються з пропуском.
cut -d ' ' -f 1 < your-file
було б найбільш ефективним.
cut < fileпроти cut file? Потім дивіться unix.stackexchange.com/a/70759/22565
І той, що проходить perl,
$ perl -pe 's/^([^ ]+) .*$/\1/' file
aaaaaaaa
bbbbbbbb
ccccccccccccccc
ddddd
Через GNU grep,
$ grep -oP '^[^ ]*' file
bbbbbbbb
ccccccccccccccc
ddddd
<корисне тут?