я бегу md5sum в AWK, чтобы найти тот же файл:выполнять команды md5sum в AWK
ls -lS | awk 'BEGIN {
getline;getline;
name1=$9;size1=$5
}
{
name2=$9;size2=$5;
if (size1==size2) {
cmd1="md5sum "name1
cmd2="md5sum "name2
cmd1 | getline; sum1=$1
cmd2 | getline; sum2=$1
print sum1,sum2
if (sum1 == sum2) {
print name1;print name2
}
};
name1=name2;size1=size2
}'
- выход моей оболочки является:
b1946ac92492d2347c6235b4d2611184 b1946ac92492d2347c6235b4d2611184
тест
test_cpy1
-rw-rw-r-- b1946ac92492d2347c6235b4d2611184
Вы можете увидеть, что есть один md5sum не прав ... но если я изменить последовательность двух CMD линии для:
cmd2 | getline; sum2=$1
cmd1 | getline; sum1=$1
Выход правильно. Я запутался ...
b1946ac92492d2347c6235b4d2611184 b1946ac92492d2347c6235b4d2611184
test
test_cpy1
b1946ac92492d2347c6235b4d2611184 b1946ac92492d2347c6235b4d2611184
test_cpy1
test_cpy2