Uniksowe polecenie "plik" ma opcję -0 do wyprowadzenia pustego znaku po nazwie pliku. Jest to podobno dobre do użycia z "cięciem".Jak wyciąć na zero?
Od man file
:
-0, --print0
Output a null character ‘\0’ after the end of the filename. Nice
to cut(1) the output. This does not affect the separator which is
still printed.
(. Uwaga, na moim Linuksie, separator '-f' nie jest drukowana - co ma większy sens dla mnie)
Jak można użyć 'cut' wyodrębnić nazwę pliku z pliku wyjściowego "pliku"?
To jest to, co chcę zrobić:
find . "*" -type f | file -n0iNf - | cut -d<null> -f1
gdzie <null>
jest znakiem NUL.
Cóż, właśnie to próbuję zrobić, chcę uzyskać wszystkie nazwy plików z drzewa katalogów, które mają określony typ MIME. Używam grep (nie pokazano).
Chcę obsłużyć wszystkie legalne nazwy plików i nie utknąć w nazwach plików za pomocą dwukropków, na przykład w ich nazwie. W związku z tym NUL byłoby doskonałe.
Podejrzewam, że rozwiązania bez cięcia również są w porządku, ale nie podoba mi się zrezygnować z prostego pomysłu.
To jest pr prawdopodobnie do jedynej rzeczy, której nie próbowałem! Dzięki! – philcolbourn
@philcolbourn: Nie ma za co! – ruakh
To nie działa w ogóle. 'cut: bad delimiter' (Mac OS X) – Sukima