Удалить повторяющиеся строки в определенной строке

Для Emacs в графическом интерфейсе:

emacs -c

Для клиента Emacs в графическом интерфейсе с помощью демона:

emacs --daemon

emacsclient -c 
0
20.09.2020, 18:38
2 ответа

allowlist.awk:

/AllowList/{
  for(i=1;i<=NF;i++){
    #Check if the field is a repeated in the line, print the field if not.
    if(!a[$i]++){
      printf "%s ",$i
    }
  }
  split("",a) #Equivalent to delete(a)
  print ""    #Print a newline
  next
}
1

Выполните сценарий Awk и перезапишите исходный файл.

awk -f allowlist.awk myconfig > temporary
mv temporary myconfig
1
18.03.2021, 23:03

Как насчет perl сuniq(илиuniqstr)из List::util?

$ perl -MList::Util=uniq -alpe '$_ = join " ", uniq @F if $F[0] eq "AllowList"' myconfig
Option1 value
Option2 value
Option3 value
# Option X value
# commentary lines
...
AllowList user1@ip1 user1@ip2 user2@ip3 user2@ip4...
...
Option Z value

Вы можете добавить -iдля работы в -.

2
18.03.2021, 23:03

Теги

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