Извлечь Второе Слово В Строке Из Текстового Файла
в настоящее время мне нужно извлечь второе слово (CRISTOBAL) в строке текстового файла.
* CRISTOBAL AL042014 08/05/14 12 UTC *
второе слово в строке "CRISTOBAL" будет меняться изо дня в день, поэтому мне просто нужно найти способ извлечь только второе слово/символ из строки.
2 ответов
2-ое слово
echo '* CRISTOBAL AL042014 08/05/14 12 UTC *' | awk '{print }'
даст вам CRISTOBAL
echo 'testing only' | awk '{print }'
даст вам only
возможно, вам придется изменить это, если структура строки изменится.
2-ое слово из строк в текстовом файле
если ваш текстовый файл содержит следующие два предложения
this is a test
* CRISTOBAL AL042014 08/05/14 12 UTC *
под управлением awk '{print }' filename.txt
вернутся
is
CRISTOBAL
2-ой символ
echo 'testing only' | cut -c 2
это даст вам e
, который является 2-м символом, и вам, возможно, придется изменить это так, чтобы удовлетворить ваши потребности.
в случае sed необходим / доступен только
sed '^ *[^ ]* *\([^ ]*\) .*//' YourFile
возьмите вторую непустую группу (при условии, что после слова
но я предпочитаю вырезать для скорости (и awk, если нужен какой-либо манип).
на самом деле это в основном зависит от следующего действия в скрипт (если таковые имеются).