Это будет "печатать" первый столбец ($1) в your_file.
Ответ 3
попробуйте сделать это с помощью coreutils cut:
cut -d' ' -f1 file
Ответ 4
Я вижу, что уже есть ответы. Но вы также можете сделать это с помощью sed:
sed 's/ .*//' fileName
Ответ 5
Вышеупомянутые решения, похоже, соответствуют вашему конкретному случаю. Для более общего применения вашего вопроса подумайте, что слова обычно определяются как разделенные пробелами, но не обязательно пробельные символы. Столбцы в вашем файле могут быть разделены на вкладку, например, или даже разделены смесью вкладок и пробелов.
Предыдущие примеры полезны для поиска слов, разделенных пробелами, в то время как только пример awk также находит слова, разделенные другими символами пробела (и на самом деле это довольно сложно сделать равномерно в разных версиях sed/grep). Вы также можете явно пропускать пустые строки, изменяя инструкцию awk таким образом:
awk '{if ($1 !="") print $1}' your_file
Если вы также обеспокоены возможностью пустых полей, то есть строк, начинающихся с пробелов, тогда будет более надежное решение. Я недостаточно разбираюсь в awk для создания однострочного шрифта для таких случаев, но короткий скрипт python, который выполняет трюк, может выглядеть так:
>>> import re
>>> for line in open('your_file'):
... words = re.split(r'\s', line)
... if words and words[0]:
... print words[0]
Ответ 6
... или в Windows (если у вас есть GnuWin32 grep):