AutoExpect Script.EXP

Для вопроса 1 вы можете сделать следующее:

найти. -name "* .txt" | xargs grep -i "abc" | wc -l

Подсчитывает общее количество совпадений для abc во всех текстовых файлах.

И для вопроса 2 я придумал:

найти. -name "* .txt" -exec grep -i "abc" {} + | вырезать -d: -f1 | сортировать | uniq | wc -l

Это получает только уникальные имена файлов из списка совпадений и считает их (сортировка, вероятно, не нужна).


Как указано miracle173, grep поставляется с флагом «одно совпадение на файл», поэтому команду можно сократить до просто:

find. -name "* .txt" -exec grep -il "abc" {} + | туалет -l

0
18.12.2018, 20:14
1 ответ

В качестве (отформатированного )продолжения моего комментария, это фактический -отказ от сценария автоожидания:

#!/usr/bin/expect
set prompt "\$\[00m $"
spawn bash
expect -re $prompt
send -- "ls\r"
expect -re $prompt
send -- "ls -l\r"
send -- "exit\r"
expect eof

Вот что я имею в виду под удалением 95%.


Чтобы ответить на ваш вопрос, если вы хотите взаимодействовать с созданной оболочкой, измените

expect eof
с

по

interact

Это останавливает взаимодействие по сценарию и передает команду пользователю.

1
28.01.2020, 02:41

Теги

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