Удалить строки после каждого первого слова в текстовом файле
Вопрос
Файл1:
hello (OPTION1) 123456 123456 123456
world (OPTION1) 123456 123456 123456
foo (OPTION1) 123456 123456 123456
bar (OPTION1) 123456 123456 123456
Как удалить каждую строку после каждого первого слова в текстовом файле File1?
Вероятно, это было бы связано с awk/sed/cat, но я не могу этого понять.Я все еще новичок в редактировании с помощью этих утилит — возможно, мой вопрос будет полезен другим.
Первые слова не являются прогнозируемыми (без подстановочных знаков), каждое первое слово уникально.
Решение
awk один вкладыш:
awk '{ print $1 }' < inputfile > outputfile
sed один лайнер:
sed 's/^\([A-Za-z0-9]*\).*/\1/' < inputfile > outpufile
Другие советы
пытаться
awk '{print $1}' filename > filename2
зачем использовать эти инструменты даже после команды вырезания
cut -f1 -d"\t" filename
Вы можете просто обрезать все, начиная с первого пробела:
sed '\s.*$//' <File1
Или просто ради интереса вы можете сделать это с помощью Perl
perl -ne '@a=split;напечатайте "$a[0] "' <файл
Не связан с StackOverflow