Мне было интересно, как фильтровать только имя языка программирования из txt-файла. я использовал следующее предложение в AWK, но я не могу получить то, что я хочу:Печать только некоторых столбцов в awk
($1 ~ /[A-Za-z]*/) && (($3 ~ /-/) || ($4 ~ /-/))
Любые идеи о том, как это сделать? Потому что, как вы видите, нет регулярного способа написания строк.
Другими словами, у меня есть следующие строки, но я просто хочу, чтобы напечатать только название языка программирования
2.PAK - AI language with coroutines. "The 2.PAK Language: Goals and
Description", L.F. Melli, Proc IJCAI 1975.
473L Query - English-like query language for Air Force 473L system. Sammet
1969, p.665. "Headquarters USAF Command and Control System Query
Language", Info Sys Sci, Proc 2nd Congress, Spartan Books 1965, pp.57-76.
3-LISP - Brian Smith. A procedurally reflective dialect of LISP which uses
an infinite tower of interpreters.
Я просто хочу, чтобы фильтровать и сделать появляются следующие строки:
2.PAK
473L Query
3-LISP
Редактировать: Теперь будет ли такое же предложение работать для следующего?
DML -
1. Data Management Language. Early ALGOL-like language with lists,
graphics, on Honeywell 635.
2. "DML: A Meta-language and System for the Generation of Practical and
Efficient Compilers from Denotational Specifications"
Я предполагаю, что я просто должен исправить некоторые из RS и FS вещей, так что я могу получить эту линию?
DML
Заранее благодарен!
Спасибо за быстрый Отвечает! @ruakh. Это помогло мне решить проблему. –
@ MikePrees: Добро пожаловать! Если бы вы могли отметить это как принятый ответ, я был бы признателен. (См. [«Как работает прием ответа?» При переполнении метаданных] (http://meta.stackexchange.com/a/5235/172535).) – ruakh
Да. Но теперь у меня есть сомнения, я изменил RS, поэтому я могу отфильтровать следующие строки и просто получить ESP: ESP - 1. Extra Simple Pascal. Подмножество Паскаля. 2. Эконометрический программный пакет. Статистический анализ временных рядов. Что я написал в awk-программе, это BEGIN {RS = "\ n \ n \ n \ n \ n"; FS = "-"} Но я не могу заставить его работать, любая идея почему? –