У меня есть файлы с букетом * .tgz, и когда я развожу их, как имя каталога отличается от имени файла tgz. Пример: У меня есть файл ab.tgz, и он получает изменение на что-то вроде 2012_test_ab. У меня такое чувство, потому что во время сжатия файл должен был переименовать этот файл сжатия в родительский каталог и т. Д.Переименовать каталог после untar tgz-файла
Но что я хочу для этого нужно переименовать каталог в исходное имя файла.
У меня есть следующий сценарий одной строки для запуска на терминале, но как я могу переименовать?
for i in *.tgz; do tar xvf $i -C ../stats/; done
Как это изменить, чтобы переименовать каталог, который распаковывает.
Пример: Когда я распаковка ab.tgz
он получает извлечен имя каталога 2013_03_12_18_26_ab
и файлы внутри этой директории, но то, что я хочу сделать, это сохранить имя каталога как абы вместо 2013_03_12_18_26_ab
Я хочу ab.tgz
, чтобы получить выписку до ../stats/ab
'инт в * .tgz; do NEWDIR = 'tar -tf $ i | head -1 | cut -d/-f1' mkdir $ NEWDIR tar xvf $ i -C ../stats/$NEWDIR; done' попробовал это сделать так, чтобы получить ошибку. Команда NEWDIR не найдена –
hmm все еще дает мне такую же ошибку '#for i in * .tgz; do NEWDIR = '' tar -tf $ i | head -1 | cut -d/-f2'' mkdir $ NEWDIR tar xvf $ i -C ../stats/$NEWDIR; done' –
Ошибка говорит bash: NEWDIR: команда не найдена. Я немного смущен. –