Извлечь Второе Слово В Строке Из Текстового Файла

в настоящее время мне нужно извлечь второе слово (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, если нужен какой-либо манип).

на самом деле это в основном зависит от следующего действия в скрипт (если таковые имеются).