Найти строку и печать сначала и последних символов строки

Вы можете изменить интервал top (по умолчанию 3 секунды) в пределах top : нажмите d и введите 0,1 Введите . Теперь интервал top установлен на 0,1 секунды.

Если вы хотите, чтобы внутри верхнего уровня был только процесс firefox, выполните следующее:

top -p <pid_of_the_processes>
2
01.12.2018, 23:55
4 ответа

Выберите то, что вам нравится:

awkраствор:

awk '/New/{ print substr($0, 1, 7), substr($0, length-9, 1) }' file1.txt

sedраствор:

sed -rn '/New/ s/^(.{7}).*(.).{9}$/\1 \2/p' file1.txt

Пример вывода (для обоих подходов):

1234567 x
3456789 y
5678901 z
1
27.01.2020, 21:58

Это одно из «жестоких» gawkрешений, которое выполняет свою работу, используя nullв качестве разделителя полей FSи разделителя полей вывода OFS, что означает, что каждый символ входного файла считается полем для awk.

awk '/New/{print $1,$2,$3,$4,$5,$6,$7," ",$(NF-9)}' FS="" OFS="" file1
1234567 x
3456789 y
5678901 z

Далее последуют другие решения с grep / sed.

0
27.01.2020, 21:58

POSIXly:

Предполагая, что строки содержат не менее 10 символов (, если нет, то поведение не указано для второй substr(), вы можете добавить && length >= 10или && length >= 17после /New/, чтобы пропустить строки с меньшим количеством символов. чем 10 или 17 символов):

awk '/New/ {print substr($0, 1, 7), substr($0, length - 9, 1)}'

или при условии, что строки содержат не менее 17 символов (строки, которые не содержат, будут пропущены):

sed -n '/New/ s/^\(.\{7\}\).*\(.\).\{9\}$/\1 \2/p'
4
27.01.2020, 21:58

Для разнообразия, решение только для bash. При обработке нескольких строк в файле sed и awk обычно являются лучшими инструментами, но bash справится с этой задачей. Расширения строковых переменных здесь удобны.

while IFS= read -r line
do
  # Check the line length.
  # This could be whatever test defines an irrelevant line.
  if [ "${#line}" -lt "25" ]
  then
    continue
  fi

  printf '%s\n' "${line:0:7} ${line: -10:1}"
done < file1.txt

Выход

1234567 x
3456789 y
5678901 z
-1
10.09.2021, 16:35

Теги

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