Thunderbird записан, XUL. Это - язык разметки Mozilla, и это приводится в действие XULRunner. В основном это ориентировало на GUI XML.
Вещью, которая разрабатывает целое приложение, является на самом деле просто простое .css
файл. При нахождении его можно затем найти элементы, которые Вы ищете и просто настраиваете CSS. Я отправлю назад необходимый путь к файлу и правилам, которые настроят.
Первый сценарий является расширением ответа Sergei Lomakov, но это было немного слишком длинно для комментария. Это обслуживает пробелы в именах файлов и заключает каждое "имя" в кавычки. Этот метод не делает requirea шаг вида.
Второй сценарий иначе, с помощью вида + awk, но без обработки матриц первого метода. Конечно, это теряет входную последовательность, если это - проблема для Вас, (но хорошо для вопроса, поскольку это использует шаг вида во всяком случае).
Оба метода также используют sed для представления \x00
как разделитель полей; включить пробельную обработку.
метод 1, массивы в awk.
find . -type f |
xargs -I {} md5sum {} |
sed 's/ [ *]/\x00/' | # " "==text, " *"==binary
awk -F"\x00" '{
if( md5s[$1] == "" ) {sep=""} else {sep=FS}
md5s[$1]=md5s[$1] sep $2 }
END{ for(md5 in md5s ) {
if( (split(md5s[md5], names, FS)) > 1 ) {
sep="\""
for( ix in names ) {
printf "%s%s", sep, names[ix]
sep="\" \"" }
print "\"" } } }'
метод 2, вид + awk.
find . -type f |
xargs -I {} md5sum {} |
sort |sed 's/ [ *]/\x00/' | # " "==text, " *"==binary
awk -F"\x00" '{
if (pkey!=$1) { ct=-1; pkey=$1; pnam=$2 }
else{if (++ct) { printf(" \"%s\"",$2) }
else { printf("%s\"%s\" \"%s\"",nl,pnam,$2)
nl="\n" } } }
END{ print "" }'
Вывод
"./tt.txt" "./tx.txt"
"./ize2.txt" "./ize3.txt" "./ize.txt"
Используйте это "волшебство" :)
find . -type f | xargs -I "{}" md5sum "{}" | awk '{count[$1]=count[$1]" "$2}END{for(j in count) if( (split(count[j], A)) > 1) print count[j]}' | sed -e 's/\.\///g'
$2
в awk)... и просто между прочим, Вам не нужны кавычки вокруг {}
(но, и при этом они ничего не нарушают). {}
уже слово удара и таким образом не подвергается разделению слова оболочки (но после того как имя файла в объеме awk, это подвергается полевому разделителю awk, который является пробелом.
– Peter.O
23.06.2012, 21:47