find
irá mostrar os nomes encontrados com o caminho que você deu, então você pode começar a construir o comando com
find /Users/username/Desktop/WebsiteFiles
ou, se é onde você está atualmente,
find "$PWD"
Em seguida, restringimos os nomes encontrados apenas aos nomes que correspondem a *.html
:
find "$PWD" -type f -name '*.html'
Se você tiver os arquivos *.html
e *.HTML
(ou *.hTmL
), e se quiser incluí-los, altere -name
para -iname
(que corresponde a nomes sem distinção entre maiúsculas e minúsculas). / p>
Eu também adicionei -type f
na chance de ter diretórios com nomes correspondentes a *.html
(não queremos ver isso no resultado). -type f
restringe o nome apenas aos arquivos regulares.
Então você queria remover nomes de arquivos específicos do resultado. Nomes contendo as strings txt
ou text
(maiúsculas ou minúsculas). Isso pode ser feito negando o teste -iname
com !
:
find "$PWD" -type f -name '*.html' ! -iname "*txt*" ! -iname "*text*"
E você tem isso.
Cada "predicado" ( -type f
etc.) age como um teste contra os nomes no diretório determinado, e há um AND lógico implícito entre os testes. Se todos os testes forem aprovados, o nome será impresso.
Executando em um diretório temporário em minha máquina, com os arquivos que você tem em seu diretório (apenas arquivos vazios para teste):
$ ls -l
total 24
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 about.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 about_TXT.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 answers.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 answers_txt.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 contact.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 contact_text.html
-rw-r--r-- 1 kk wheel 596 Sep 26 17:46 files
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 image.jpg
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 image2.jpg
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 images
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 index-TEXT.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 index.html
-rw-r--r-- 1 kk wheel 0 Sep 26 17:47 notes.txt
-rw-r--r-- 1 kk wheel 10240 Sep 26 19:11 test.tar
$ find "$PWD" -type f -name '*.html' ! -iname "*txt*" ! -iname "*text*"
/tmp/shell-ksh.p56GA7BA/index.html
/tmp/shell-ksh.p56GA7BA/answers.html
/tmp/shell-ksh.p56GA7BA/about.html
/tmp/shell-ksh.p56GA7BA/contact.html