SH Bash  ·  25 вопросов  ·  ~70 мин  ·  ⏱ Таймер 10:00  ·  Средний  · 

grep, sed и awk

Средний тест по теме «grep, sed и awk». Вопросы требуют читать Bash-код, отслеживать расширения, потоки и коды завершения, находить дефекты и выбирать правку с учётом эксплуатации. В серии 25 вопросов, из них 15 содержат полноценные фрагменты кода. Базовая среда — GNU Bash 5.2; внешние GNU-утилиты оговариваются в тексте задания.

Отвечено: 0 из 25
⏱ --:--
0%
💡 Инструкция: Выберите один ответ из пяти. На 25 вопросов отведено 70 минут. В каждом вопросе верен только один вариант. После завершения вы увидите общий результат, оценки по 5 тематическим шкалам и подробные объяснения.
Вопрос 1 из 25
Для блока «Поиск строк» сравнивают несколько внешне похожих решений. Как следует оценить этот вариант с учётом синтаксиса Bash и вызванных программ?
BashПоиск строк · вариант A
printf 'alpha\nbeta\n' | grep -q gamma
printf '%s\n' "$?"
Вопрос 2 из 25
Для блока «Замена» сравнивают несколько внешне похожих решений. Код рассматривают на техническом ревью. Какой вывод подтверждается его фактическим поведением?
BashЗамена · вариант A
printf 'a:a:a\n' | sed 's/:/-/2g'
Вопрос 3 из 25
Для блока «Поля и записи» сравнивают несколько внешне похожих решений. Что точнее всего характеризует работу показанного кода?
BashПоля и записи · вариант A
printf 'a:b:c\n' | awk -F: 'BEGIN{OFS="|"} {print $3,$1}'
Вопрос 4 из 25
Для блока «Построение конвейера» сравнивают несколько внешне похожих решений. Какое наблюдение выдерживает проверку по аргументам, потокам и коду завершения?
BashПостроение конвейера · вариант A
printf 'a 3\nb 1\na 2\n' | awk '$1=="a"{print $2}' | sort -n | paste -sd, -
Вопрос 5 из 25
Для блока «Проверка и диагностика» сравнивают несколько внешне похожих решений. Что в этом коде произойдёт или останется верным при указанных условиях?
BashПроверка и диагностика · вариант A
LC_ALL=C sort input > output
Вопрос 6 из 25
В служебном сценарии найден следующий фрагмент по теме «Поиск строк». Какое описание согласуется с фактическими аргументами и состоянием процессов?
BashПоиск строк · вариант B
if ! grep -q pattern "$file"; then echo absent; fi
Вопрос 7 из 25
В служебном сценарии найден следующий фрагмент по теме «Замена». Какой технический вывод относится к показанному коду, а не к похожему решению?
BashЗамена · вариант B
value='a/b&c'
sed "s/PLACEHOLDER/$value/" template
Вопрос 8 из 25
В служебном сценарии найден следующий фрагмент по теме «Поля и записи». Какое утверждение верно именно для этого варианта?
BashПоля и записи · вариант B
awk -v limit="$limit" '$3 > limit {print}' file
Вопрос 9 из 25
В служебном сценарии найден следующий фрагмент по теме «Построение конвейера». Что следует записать в заключении ревью этого фрагмента?
BashПостроение конвейера · вариант B
grep pattern file | awk ... | sed ... > result
Вопрос 10 из 25
В служебном сценарии найден следующий фрагмент по теме «Проверка и диагностика». Какой разбор не смешивает этот вариант с другими способами решения задачи?
BashПроверка и диагностика · вариант B
grep -r "$pattern" "$root" 2>/dev/null
Вопрос 11 из 25
При проверке темы «Поиск строк» в тесте «grep, sed и awk» нужно оценить именно этот вариант. Какое утверждение относится к приведённому фрагменту без лишних допущений?
BashПоиск строк · вариант C
grep -q pattern "$file"
rc=$?
case $rc in 0) found;; 1) absent;; *) printf 'grep failed: %d\n' "$rc" >&2;; esac
Вопрос 12 из 25
При проверке темы «Замена» в тесте «grep, sed и awk» нужно оценить именно этот вариант. Какой вывод подтверждается правилами Bash и указанной последовательностью команд?
BashЗамена · вариант C
escaped=${value//\/\\}
escaped=${escaped//&/\&}
escaped=${escaped//|/\|}
sed "s|PLACEHOLDER|$escaped|g" template
Вопрос 13 из 25
При проверке темы «Поля и записи» в тесте «grep, sed и awk» нужно оценить именно этот вариант. Что этот вариант меняет в поведении сценария на самом деле?
BashПоля и записи · вариант C
awk -F '\t' -v OFS='\t' '{ $2=toupper($2); print }' file
Вопрос 14 из 25
При проверке темы «Построение конвейера» в тесте «grep, sed и awk» нужно оценить именно этот вариант. Какой вывод соответствует именно этой записи, а не общему совету по теме?
BashПостроение конвейера · вариант C
set -o pipefail
if ! grep pattern file | awk ... | sed ... > "$tmp"; then
  statuses=("${PIPESTATUS[@]}")
fi
Вопрос 15 из 25
При проверке темы «Проверка и диагностика» в тесте «grep, sed и awk» нужно оценить именно этот вариант. Что можно уверенно сказать об этом решении после пошагового разбора?
BashПроверка и диагностика · вариант C
if ! errors=$(grep -r "$pattern" "$root" 2>&1 >/tmp/matches); then
  printf '%s\n' "$errors" >&2
fi
Вопрос 16 из 25
В тесте «grep, sed и awk» разбирается тема «Поиск строк». Какое условие остаётся за пределами гарантии выбранного механизма?
Вопрос 17 из 25
В тесте «grep, sed и awk» разбирается тема «Замена». Какое замечание точнее всего отделяет учебный пример от промышленного решения?
Вопрос 18 из 25
В тесте «grep, sed и awk» разбирается тема «Поля и записи». Какой риск останется даже после корректной реализации основной конструкции?
Вопрос 19 из 25
В тесте «grep, sed и awk» разбирается тема «Построение конвейера». Какое ограничение особенно важно учесть перед переносом решения в эксплуатацию?
Вопрос 20 из 25
В тесте «grep, sed и awk» разбирается тема «Проверка и диагностика». Какую оговорку стоит вынести в описание эксплуатационного контракта?
Вопрос 21 из 25
На техническом ревью обсуждают раздел «Поиск строк». Какой общий контракт помогает предсказать результат до выполнения?
Вопрос 22 из 25
На техническом ревью обсуждают раздел «Замена». Какое правило лучше всего объясняет корректный способ решения?
Вопрос 23 из 25
На техническом ревью обсуждают раздел «Поля и записи». Какой принцип остаётся верным и на обычном, и на граничном входе?
Вопрос 24 из 25
На техническом ревью обсуждают раздел «Построение конвейера». На какую гарантию Bash следует опираться при техническом ревью этого участка?
Вопрос 25 из 25
На техническом ревью обсуждают раздел «Проверка и диагностика». На каком правиле должен строиться разбор подобных фрагментов?

Ответьте на все 25 вопросов, чтобы получить результат

🔗 Встроить тест на свой сайт (iframe) ▼

Скопируйте код и вставьте в любое место на вашем сайте:

Также доступна прямая ссылка на embed-страницу