@Printip

Как удалить дубликаты внутри строки?

Здравствуйте! Есть файл data.txt

содержимое data.txt :

001 002 001 00003
007 008 007 0000009

как удалить повторы чтобы на выходе было:

001 002 00003
007 008 0000009
  • Вопрос задан
  • 432 просмотра
Решения вопроса 1
3vi1_0n3
@3vi1_0n3
#!/bin/bash
IFS='
'
exec 3<>data.txt
while read -u 3 line
do
(
        IFS=' '
        result=()
        for word in $line
        do
                [[ ! "${result[*]}" =~ "$word" ]] && result=(${result[*]} $word)
        done
        echo ${result[*]}
)
done
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
Если порядок в строке не важен, то можно просто
while read;do echo $REPLY|xargs -n1|sort -u|xargs; done<data.txt
Ответ написан
Комментировать
т.е. получается, с опцией -u команнды sort не требуется поток данных пропускать через команду uniq?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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