Як перерахувати будь-яке інше розширення файлу за допомогою regex на Linux?


1

У мене є наступна команда, яка перераховує всі файли, які мають розширення .swf але я хотів би повернути список кожного файлу, який не має розширення .swf

find . -maxdepth 1 -regextype posix-egrep -regex '.*/.*\.swf' -exec echo {} \;

Відповіді:


3

Просто скасуйте умову

-not -regex '.*/.*\.swf'

Це працює як шарм. Чи є, однак, спосіб просто використовувати регулярні вирази?
PeanutsMonkey

Гм ... а [^ s] [^ w] [^ f] ' вид робіт, я думаю.
tink

1

Якщо все, що вам потрібно, є файли, які не мають .swf розширення, просто використовуйте зворотне grep :

find . -maxdepth 1 -type f | grep -v *\.swf

Або скасуйте -name з:

find . -maxdepth 1 ! -name "*\.swf"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.