Что-то не так с пробелами в zenity при попытке в скрипте [дубликат]

Вы всегда можете добавить новую запись с помощью синтаксиса x. newentry и перенумеровать все последующие записи с помощью чего-то вроде:

awk -F . -v OFS=. '{if (NF) $1 = ++n; else n = 0; print}'
  • -F . : устанавливает разделитель полей на . 1
  • -v OFS=. : то же самое для разделителя полей output (-F . - сокращение от -v FS=. ).
  • {...}: нет условия, поэтому код внутри {...} выполняется для каждой строки
  • if (NF), если количество полей больше 0. С FS является . , это означает, что если текущая строка содержит хотя бы одно . Мы могли бы также сделать if (length) для проверки непустых строк.
  • $1 = ++n: установить первое поле в инкрементированное n (сначала 0, потом 1, потом 2...).
  • else n = 0: иначе (когда NF == 0) сбросить n в 0.
  • print: вывести (возможно, измененную) строку.

1Синтаксис такой: -F <расширенное-регулярное-выражение>, но когда <расширенное-регулярное-выражение> - это один символ, то он воспринимается не как регулярное выражение (где . означает любой символ), а как этот символ.

1
14.07.2015, 18:05
0 ответов

Теги

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