Запуск сценария bash для добавления .csv к файлам в подкаталоге перемещал / удалял все файлы с компьютера

У меня была папка со 100 подпапками, и в каждой папке было два файла, в которые я хотел добавить .csv. Я написал сценарий bash:

#!/bin/bash

for i in * ; do     
    cd $i   
    for k in *; do      
        mv "$k" "${f%.*}.csv"
    done
    cd .. 
done

Куда делись все мои файлы? Как мне их вернуть?

0
31.07.2017, 19:34
1 ответ
mv "$k" "${f%.*}.csv"

Поскольку переменная fне определена, вся подстановка не представляет собой пустую строку, и команда становится mv "$k" ".csv".

Все файлы, кроме одного, в каждом каталоге потеряны. Последний теперь называется .csv. Вы, вероятно, этого не заметили, потому что точка в начале делает файл скрытым; используйте ls -a, чтобы увидеть такие файлы. Файловые менеджеры с графическим интерфейсом обычно также имеют возможность отображать скрытые файлы.

0
28.01.2020, 04:42

Теги

Похожие вопросы