У мене є старий код з 2003 року, який використовує -tпараметр для uniqкоманди. Він видає помилку, оскільки ця опція, ймовірно, більше не підтримується.
Ось фрагмент, який використовує команду:
egrep -n "{ IA32_OP" ia32-decode.c | \
awk '{ print $1 $3 $4 }' | \
sort -t '(' +1 | \
uniq -t ':' -f 1 | \
sed 's/\(.*\)\:IA32_OP(\(.*\)),/#define IA32_OP_\2 \1/g' >> ia32_opcodes.h
Що тоді зробив цей варіант? З чим я можу замінити цю команду?
man uniq, -f 1уникає порівняння першого поля. Я б сказав, що з -t ':'цього -tпередбачається змінити полевий сепаратор з пробілів на :.
-tбув певний Debian варіант, який пізніше було видалено?
uniqвін не мав однакового -tі -kяк сортування або чому сорт не мав усіх uniqвбудованих функцій (оскільки він має зараз -u). Ті -w/ -f/ -sвід GNU uniq не мають сенсу. Чому вони не могли використовувати той самий синтаксис, що і sort.