У меня есть набор, около 8000 или около того, файлов, которые мне нужно восстановить. Файлы представляют собой списки чисел, разделенных возвратами:
nnnn
nnnnn
nnnn
и я хотел бы отсортировать и деупешировать числа в самих файлах. Я могу сделать это вручную, используя сортировку | uniq или sort -u, но я хочу перезаписать файлы. Есть ли способ сделать это без использования временного файла? И какой синтаксис я должен использовать, чтобы избежать ошибки «неоднозначного перенаправления»! : -)
#!/usr/bin/env bash
cd /Users/dd/Desktop/images
TEMP="/tmp/$(basename $0).$RANDOM.txt"
for FILENAME in "`find . -name *version_ids.txt -print`"
do
cat $FILENAME | sort -u > $TEMP
$TEMP > $FILENAME
done
(Я попробовал следующее, что не дало ошибки, но, похоже, не дало желаемого эффекта ...
#!/usr/bin/env bash
cd /Users/dd/Desktop/images
for FILENAME in "`find . -name *version_ids.txt -print`"
do
sort -u $FILENAME -o $FILENAME
done
)