Команда AWK, чтобы найти расширение Проблема - PullRequest
0 голосов
/ 11 апреля 2019

Я использую команду awk, чтобы получить расширение файла в моем скрипте, однако он не работает с одним сценарием, который мне нужно посоветовать.

Вот два входных файла в моей "директории поиска". Моя команда Awk может работать для файла 1, она не может сказать "Номер строки источника равен 1. awk: 0602-533 Не удается найти или открыть файл ".. Что мне не хватает. Просьба предложить. tnx!

File 1: hm101i.39.TF010J.TXT
File 2 : hm101i.39.TF010 JUNK.TXT


for file in "$SEARCH_DIR"/*; do
 extn=$(echo $file | awk -F '.' '{print $NF}')
done

1 Ответ

1 голос
/ 11 апреля 2019

вам не нужен awk для этого, используйте вместо этого функцию расширения ${parameter##word} в bash.например:

ext=${file##*.}

это просто удаляет самую длинную подстроку в $file, соответствующую *., которая является шаблоном глобуса.

file='hm101i.39.TF010J.TXT'
$ echo ${file##*.}
TXT
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...