Это все, что вы пытаетесь сделать?
$ awk -F';' '{print substr($2,3,3)}' file
RUS
$ sed -E 's/[^;]*;..(.{3}).*/\1/' file
RUS
Если нет, то отредактируйте свой вопрос, чтобы обеспечить более по-настоящему репрезентативный пример ввода / вывода.
Команда UNIX для find файлы с именем find
, кстати, не grep
.Я знаю, что ребята из GNU добавили кучу опций для поиска файлов в grep, но просто не используйте их, так как они делают вашу команду grep излишне сложной (и несовместимой с другими инструментами обработки текста UNIX), так как тогда ей нужны аргументы для find
файлы, а также g/re/p
в файлах.Поэтому ваша командная строка, если вы используете grep, должна быть:
find . -name '*.txt' -exec grep 'stuff' {} +
not:
egrep --include *.txt -or . -e 'stuff'
и сделать то же самое для любого другого инструмента:
find . -name '*.txt' -exec grep 'stuff' {} +
find . -name '*.txt' -exec sed 'stuff' {} +
find . -name '*.txt' -exec awk 'stuff' {} +