Próbuję napisać skrypt bash, który będzie przetwarzać listę plików, których nazwy są przechowywane w jednej w wierszu pliku wejściowego, coś pokrojuJak mogę odczytać listę nazw plików z pliku w bash?
find . -type f -mtime +15 > /tmp/filelist.txt
for F in $(cat /tmp/filelist.txt) ; do
...
done;
Moim problemem jest to, że nazwy plików w filelist.txt może zawierać przestrzenie, tak wycięte powyżej rozszerzy linię
my text file.txt
trzech różnych nazw, my
, text
i file.txt
. Jak mogę to naprawić?
Wiesz, wpisy w katalogach mogą również zawierać znaki nowej linii, jak również jako przestrzenie i inne zwariowane postacie. Jedyne rzeczy, których nie może mieć pozycja katalogu (nazwa pliku) to znaki "/" i "". (slash i null). – chris
Tak, ale pliki, nad którymi pracuję, są tworzone przez użytkowników systemu Windows w mojej sieci LAN, która ma dostęp do udziału samby, więc istnieje ograniczenie dziwności nazwy pliku – agnul