Какая часть(и) подсистемы TTY управляет активным /dev/ttyN (драйвер устройства TTY N)? [закрыто]

Предположим, мы хотим заменить последние 7строк следующей последовательности сценарием оболочки и реализацией GNU sed:

$ seq 20
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20

Шаг 1: давайте получим номер последней строки последовательности, как показано ниже. Взгляните на этои это:

$ lastLine=`seq 20|sed -n '$='`

$ echo $lastLine 
20

Шаг 2: давайте установим количество строк (в конце последовательности), которые мы собираемся редактировать:

$ numberOfLines=7

$ echo $numberOfLines 
7

Шаг 3: давайте рассчитаем начальную линию на основе предыдущих переменных, как показано ниже. Взгляните на это:

$ startLine=`expr $lastLine - $numberOfLines + 1`

$ echo $startLine 
14

Шаг 4: Теперь мы можем заменить последние 7 строк последовательности чем-то другим, например следующим. Взгляните на это:

$ seq 20|sed -e "$startLine,+$numberOfLines{s/[12]/WoW/}"
1
2
3
4
5
6
7
8
9
10
11
12
13
WoW4
WoW5
WoW6
WoW7
WoW8
WoW9
WoW0

Шаг 4 использует раздел 4.4 справочной страницы sed, в котором говорится:

'ADDR1,+N'
     Matches ADDR1 and the N lines following ADDR1.

Шаг 4 также использует двойные кавычки, как указано здесь.


Ну, 4 шага не нужны, если мы используем ответ Гохувот так:

$ seq 20 |tac|sed -e '1,7{s/[12]/WoW/}'|tac
1
2
3
4
5
6
7
8
9
10
11
12
13
WoW4
WoW5
WoW6
WoW7
WoW8
WoW9
WoW0

1
18.05.2019, 20:52
0 ответов

Теги

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