Как заменить слово/число после шаблона, но только одно слово, а не то, что следует после, через vi или любой другой инструмент

Что бы я сделал (и сделал раньше ), так это купил дешевый/подержанный сканер штрих-кода и использовал его. 1D-сканеры сканируют обычные штрих-коды (всего несколько символов ), 2D-сканеры могут обрабатывать QR-коды (много символов ).

Преимущество сканеров штрих-кода в том, что они ведут себя как клавиатура. Каждый раз, когда вы сканируете штрих-код, он «вводит» отсканированные символы и добавляет новую строку. Когда у вас есть это, тривиально написать сценарий на любом языке для запуска фильма. (например bash и mplayer)

QR-коды легко генерировать с помощью онлайн-инструментов или qrencode (https://fukuchi.org/works/qrencode/). Вы даже можете закодировать имена файлов в QR-код и просто заставить видеоплеер открывать все, что сканируется.

Возможно, это не так красиво, как NFC, но это намного проще и намного дешевле;)

-1
29.01.2021, 13:39
1 ответ

С sedпросто:

$ foo="local-ip 159.105.100.40 port 5510 remote-ip 152.16.142.104 port 3868"
$ echo "$foo" | sed 's/port [0-9]\{1,5\}/port 0/g'
local-ip 159.105.100.40 port 0 remote-ip 152.16.142.104 port 0

Итак,

# let's suppose that all your scripts are in the same directory
# and have the extension.sh
for file in *.sh; do
  # WARNING: the -i option writes the file
  # so it's better to try first without it
  sed -i 's/port [0-9]\{1,5\}/port 0/g' "$file"
done


В viвы можете использовать ту же команду:

:s/port [0-9]\{1,5\}/port 0/g

Или проще, как предлагает @Quasímodo :

 :s/port \d\+/port 0/g
3
18.03.2021, 22:33

Теги

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