История изменений
Исправление CrX, (текущая версия) :
Зачем лишний $var
? Только больше проблем потенциальных (например, если будет начинаться с - или ещё чего). В таких случаях лучше сразу в файл и выводить, без промежуточного хранения в переменной:
grep -nv '^$' $file \
| sort -t':' -k2 -u \
| sort -t':' -k1 \
| sed -E 's/^[0-9]+://' \
> "$file"
upd: А, тут тот же файл, с которого читается… Ну тогда так:
grep -nv '^$' $file \
| sort -t':' -k2 -u \
| sort -t':' -k1 \
| sed -E 's/^[0-9]+://' \
| sponge "$file"
Исправление CrX, :
Зачем лишний $var
? Только больше проблем потенциальных (например, если будет начинаться с - или ещё чего). В таких случаях лучше сразу в файл и выводить, без промежуточного хранения в переменной:
grep -nv '^$' $file \
| sort -t':' -k2 -u \
| sort -t':' -k1 \
| sed -E 's/^[0-9]+://' \
> "$file"
Исходная версия CrX, :
Зачем лишний $var
? Только больше проблем потенциальных (например, если будет начинаться с - или ещё чего). В таких случаях лучше сразу в файл и выводить, без промежуточного хранения в переменной:
grep -nv '^$' $file \
| sort -t':' -k2 -u \
| sort -t':' -k1 \
| sed -E 's/^[0-9]+://' \
> "$file"