Resultados diferentes OS X / Linux com “find PATH -mount \ (-type f -o -type d \) -print0 | LC_ALL = C class - terminado em zero OUTPUT.txt ”

1

este comando faz parte de um script que eu uso para comparar arquivos:

find test/ -mount \( -type f -o -type d \) -print0 \
    | LC_ALL=C sort --zero-terminated > OUTPUT.txt

// test/ is the PATH

OUTPUT.txt no Ubuntu / Linux é assim:

test/�test/#.pdf�test/$.pdf�test/+.pdf�test/.recycle.pdf�test/0.pdf�test/1.pdf�test/9.pdf�test/A.pdf�test/Aa.pdf�test/Z.pdf�test/a.pdf�test/aA.pdf�

OUTPUT.txt no OS X é assim:

test/�test//#.pdf�test//$.pdf�test//+.pdf�test//.recycle.pdf�test//0.pdf�test//1.pdf�test//9.pdf�test//A.pdf�test//Aa.pdf�test//Z.pdf�test//a.pdf�test//aA.pdf�

O OS X parece gostar de barras, mas isso é incomparável. Como posso contornar isso?

    
por benjaminvonderweiden 09.11.2014 / 18:05

1 resposta

0

Substitua find test/ por find test/. ; isso é equivalente e deve dar o mesmo resultado.

Como alternativa, em vez de usar find test/ , use find -H test . A opção -H diz a find para seguir links simbólicos na linha de comando, que é o que test/ faz se test for um link simbólico para um diretório. A única diferença é que, se test é um link simbólico pendente, find test/ erros, mas find -H test não.

    
por 11.11.2014 / 04:25