Различие в размере файла тех же папок имени

Ну, принятие Вас имеет stat и bash, можно получить размер файла с:

stat -c %s your_file

Если Вы хотите извлечь последнее $amount байты для того файла с dd, Вы могли:

dd if=your_file of=extracted_part \
   bs=1 count=$amount \
   skip=$(( $(stat -c %s your_file) - $amount ))

Но более нормальный подход должен был бы использовать tail:

tail -c $(( 1024*1024 )) your_file > target_file
5
22.01.2013, 12:07
3 ответа

bash альтернатива для ответа Stephane:

diff -u <(cd dir1 && du -a | sort -k2) <(cd dir2 && du -a | sort -k2)

И ответ этого и Stephane предполагает, что нет никаких новых строк в Ваших именах файлов.

3
27.01.2020, 20:40

С zsh и vim, Вы могли сделать:

vim -d =(cd dir1 && du -a | sort -k2) =(cd dir2 && du -a | sort -k2)

(можно заменить vim -d с diff -u или kompare или Ваша предпочтительная текстовая утилита сравнения).

=(...) форма замены команды совпадает с <(...) один найденный в ksh, zsh и ударе за исключением того, что это использует временный файл вместо канала так, чтобы он мог работать с командами, которые ожидают регулярный файл (как vim). Для команд, которые не имеют того ограничения (как diff), можно использовать <(...) вместо этого.

2
27.01.2020, 20:40

Каталог является просто отображением между именами файлов и inodes, в каталоге нет никаких "файлов". Можно попросить размер файлов, достижимых через каталог командой du(1)). Если Вы волнуетесь по поводу размера самого каталога (как сообщается ls -ld directory), это включает текущие имена файлов, расположите с интервалами, который использовался к настоящему времени стертые файлы, дополнение и различная бюрократия.

Если Вы хотите знать, имеют ли достижимые файлы те же имена/содержание, cmp(1) сравнивает два файла. Или diff(1)-r флаг), сравнивает каталоги рекурсивно (он приспособлен в тексте, хотя).

0
27.01.2020, 20:40

Теги

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