Meld: как показать размер файла в байтах

При сравнении каталогов с Meld он отображает столбец «Размер» в «читаемом человеком» формате, то есть 4.1 kB. Как я могу заставить Meld указать точное количество байтов, то есть 41203 bytes?

Я сравниваю две директории, где в некоторых случаях файлы слева имеют на 2 или 3 байта больше, чем файлы справа, а остальная часть их содержимого одинакова. Существуют и другие типы различий в других файлах, но тогда их размер файла намного больше, поэтому их легко обнаружить (и игнорировать). Я просто хочу открыть файлы с несколькими байтами, чтобы проверить их. Я не хочу открывать файлы, например, более 20 байтов, мне все равно. Но «читаемый человеком» формат создает для меня много дополнительной работы.

2
задан 2 February 2018 в 21:42

2 ответа

Я думаю, что ваш лучший вариант - использовать другой инструмент для определения различий в малом размере. Относительно легко написать сценарий оболочки:

#!/bin/bash set -eu dir1="${1%/}" dir2="${2%/}" sizedifflimit="${3:-20}" difftool="${4:-meld}" find "$dir1" -type f -printf '%s\t%p\0' | while read -rd '' size1 file1; do file="${file1:$((${#dir1}+1))}" file2="$dir2/$file" size2="$(stat -c '%s' -- "$file2")" sizediff=$(($size1 - $size2)) if [ "$sizediff" -ne 0 -a "${sizediff#-}" -lt "$sizedifflimit" ]; then $difftool -- "$file1" "$file2" fi done

Использование:

bash size-diff.sh DIR1 DIR2 [SIZE-LIMIT] [DIFF-TOOL]
0
ответ дан 17 July 2018 в 21:43

Я думаю, что ваш лучший вариант - использовать другой инструмент для определения различий в малом размере. Относительно легко написать сценарий оболочки:

#!/bin/bash set -eu dir1="${1%/}" dir2="${2%/}" sizedifflimit="${3:-20}" difftool="${4:-meld}" find "$dir1" -type f -printf '%s\t%p\0' | while read -rd '' size1 file1; do file="${file1:$((${#dir1}+1))}" file2="$dir2/$file" size2="$(stat -c '%s' -- "$file2")" sizediff=$(($size1 - $size2)) if [ "$sizediff" -ne 0 -a "${sizediff#-}" -lt "$sizedifflimit" ]; then $difftool -- "$file1" "$file2" fi done

Использование:

bash size-diff.sh DIR1 DIR2 [SIZE-LIMIT] [DIFF-TOOL]
0
ответ дан 23 July 2018 в 22:20

Другие вопросы по тегам:

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