Como enviar arquivos do Find para outro programa?

0

Se este for o site pilha * errado, peço desculpas, mas estou tentando enviar os resultados da localização para outro aplicativo? o que estou tentando fazer é encontrar todos os arquivos * .plist e enviá-los ao plutil para convertê-los para o formato binário. Mas não sei como "canalizar" (eu sei, terminologia errada, mas funciona.) Em plutil.

Não, estou tentando convertê-los em lote, usando a entrada de find, porque ele procura recursivamente todas as listas, então eu quero canalizar TODAS as listas encontradas em uma pasta para plutil.

MarcusJ
fonte

Respostas:

2

Isso vale repetir. Se você deseja atuar em um conjunto de arquivos ...

Você nunca precisa canalizar a saída findpara outra coisa.

O canal de saída de um comando que fornece uma lista de arquivos geralmente é feito errado. Você não precisa de um forloop para isso e também não find … | xargs.

Para atuar em um conjunto de arquivos encontrado por find, use a -execopção

find /some/path -iname '*.plist' -exec plutil -convert xml1 '{}' \;

Aqui, o '{}'é substituído pelo nome de cada arquivo encontrado.

Se você deseja que uma maneira robusta de findsaída de canal atue nos arquivos encontrados em um loop, considere o seguinte:

find … -print0 | while IFS= read -r -d '' file
do
    plutil -convert xml1 "$file"
done
slhck
fonte
Obrigado, o primeiro comando funcionou, estou recebendo um erro de permissão, mas o sudo deve corrigir isso.
MarcusJ
Sudo corrigiu, caso você estivesse se perguntando, obrigado novamente. :)
MarcusJ
-2

Existem problemas de permissão que atrapalham sua execução?

Caso contrário, tente o seguinte:

https://discussions.apple.com/thread/2344258?start=0&tstart=0

OU

loop através de `ls` resulta em script de shell bash

-Justin

EDIT - Adicionado outro link para que você possa clicar nele.

manumoomoo
fonte
Não, estou tentando convertê-los em lote, usando a entrada de find, porque ele procura recursivamente todas as listas, então eu quero canalizar TODAS as listas encontradas em uma pasta para plutil.
MarcusJ
Bem, você pode corrigir um script para percorrer os arquivos na pasta e fazer a conversão. Eu não acho que você precisa canalizar todos eles. Deseja um arquivo no final ou os mantém individuais?
precisa saber é
Eu quero mantê-los individualmente, eu só não sei o contexto da tubulação-los em plutil: /
MarcusJ
2
Apenas links não são considerados respostas úteis. Além disso, postar links para LMGTFY é bastante rude. Por favor remova isso.
slhck
1
Eu pesquisei, você leu errado minha pergunta e, ironicamente, adicionou um link LMGTFY.
MarcusJ