Используя zsh
, вы можете попробовать что-то вроде:
x=3
B_words=($(<B))
A_words=($(<A))
A="$A_words"
setopt extendedglob
for ((i = 1; i<=$#B_words - x + 1; i++)) {
phrase=$B_words[i,i+x-1]
[[ " $A " = (#a2)*" $phrase "* ]] && printf '%s\n' $phrase
}
Что должно дать вам последовательности из 3 слов файла B, которые также находится в файле A (допускает 2 ошибки с (# a2)
).
Например, если A
- это ваш вопрос, а B
- это предложение выше, я получаю:
of 3 words
3 words of
in file A
Или, если вы хотите увидеть, что было найдено в файле A
:
for ((i = 1; i<=$#B_words - x + 1; i++)) {
phrase=$B_words[i,i+x-1]
[[ " $A " = (#a2)(#b)*" "($phrase)" "* ]] &&
printf '%s\n' "$phrase ($match[1])"
}
, который дает:
of 3 words (of words)
3 words of (words of)
in file A (in file B,)
слов здесь определены как последовательности не-IFS символов, которые со значением по умолчанию $ IFS являются любым символом, кроме пробела, табуляции, новой строки и нуля.
Невозможно пропустить запрос подтверждения, предлагаемый пользователю.
В документации Thunar по съемным носителям обсуждается использование функций автоматического -запуска и автоматического -открытия. Общим для обоих вариантов является эта заметка (слегка отредактированная):
As a security precaution, you will always be prompted to confirm the auto-run/auto-open.
Такое поведение предписано спецификацией автозапуска настольных приложений , в которой указано следующее:
Для авто -запуск файлов:
The desktop environment MUST prompt the user for confirmation before automatically starting an application.
Для Авто -открыть файлы:
The desktop environment MUST prompt the user for confirmation before opening the file.