Я пытаюсь написать сценарий оболочки, который будет искать регулярное выражение в каждом из файлов в текущем каталоге, не используя временные файлы.Найти частоту выражения во всех файлах каталога
Первоначально, я сделал это, используя временный файл для хранения echo * | sed 's/ /\n/g'
, а затем процитировал каждую строку этого файла, используя cat
на каждом, а затем grepping мое выражение и подсчет строк вывода. У меня возникли проблемы с поиском временных файлов, и мне было интересно, могу ли я делать все с использованием переменных или некоторых методов, отличных от временных файлов (я тоже не хочу создавать отдельный каталог для файлов temp).
Проблема, с которой я столкнулась с переменными, заключалась в том, что после того, как я установил значение переменной на вывод echo * | sed 's/ /\n/g'
, я не знал, как пройти через каждую строку, чтобы я мог получить количество выражений из файлов.
Я просто хочу следующую работу (где я жёстко выражение):
% ls
% file1 file2 file3
% ./countMost.sh
% file2(28)
% ls
% file1 file2 file3
означающий, что file2 имеет большинство случаев выражения (28 из них).