Как извлечь определенную строку и удалить остальные значения из входной строки?

Многие дистрибутивы различными способами поддерживают это.

В Debian и его производных вы должны установить архитектуру amd64для системы (или даже просто ядро ​​), затем добавить архитектуру i386(dpkg --add-architecture i386, а затемapt update)и установить apache2:i386. См. Как запустить 32 -битные программы на 64 -битном Debian/Ubuntu? для получения подробной информации.

В Fedora вы можете установить httpd.i686непосредственно в 64-битной -системе x86.

Другие дистрибутивы поддерживают это по-разному, приведенное выше не является исчерпывающим.

0
29.03.2020, 01:27
5 ответов

Вот один из способов использования группы захвата

sed 's/.*TEST3 Id: \(.*\).*/\1/'

Тест

echo "TEST: www.google.com TEST2: 123444 TEST3 Id: ABCD1234 TEST.txt" | sed 's/.*TEST3 Id: \(.*\).*/\1/'
ABCD1234
0
19.03.2021, 02:31

Попробуйте этот:

echo "$INPUT" | sed 's/.*TEST3 Id: \([^ ]*\).*/\1/'

\( \)— полезная конструкция, которая ограничивает часть регулярного выражения, которая будет воспроизведена с помощью \1. Таким образом, он воспроизводит только самую большую строку без пробелов, начинающихся сразу после TEST3 Id:.

0
19.03.2021, 02:31

Вы не сказали, что ограничены sed...

echo "$INPUT" | awk '{print $7}'

0
19.03.2021, 02:31

Вы можете попробовать это с GNUgrep:

echo "$INPUT" | grep -Po "(?<=Id:[[:blank:]]).*[[:blank:]]"
0
19.03.2021, 02:31

Расширение параметра.

INPUT="TEST: www.google.com TEST2: 123444 TEST3 Id: ABCD1234 TEST.txt"

INPUT="${INPUT% TEST*}"

echo "${INPUT##* }"

Замена команды строкой и массивом Here.

INPUT="TEST: www.google.com TEST2: 123444 TEST3 Id: ABCD1234 TEST.txt"

OUTPUT=$(read -ra var <<< "$INPUT"; echo "${var[-2]}")

echo "$OUTPUT"

Ок.

INPUT="TEST: www.google.com TEST2: 123444 TEST3 Id: ABCD1234 TEST.txt"

echo "$INPUT" | awk '{print $(NF-1)}'

Или сделайте то, что вы сделали с sed

INPUT=$(echo "TEST: www.google.com TEST2: 123444 TEST3 Id: ABCD1234 TEST.txt" | awk '{print $(NF-1)}')
0
19.03.2021, 02:31

Теги

Похожие вопросы