Вид Linux длится столбец

У меня есть поле Dell на 400 МГц (K6 ЦП, я думаю) от приблизительно 1999. Я выполнил Slackwares приблизительно до 12,0 на нем, но прошлым летом, я поместил Slackware 3.2 на него, только для наблюдения то, чему было похоже с современным Linux.

Очень интересный. Я должен был перекомпилировать ядро (2.0.xx) для получения поддержки 3c905 плата Ethernet, и я перекомпилировал XFree86 для получения поддержки карты ATI. Я смог скомпилировать latests OpenSSH только с несколькими незначительными сбоями для удаленного доступа.

6
13.04.2017, 15:37
1 ответ

Awk

Можно адаптировать связанный канал прямым способом:

$ ./script | awk '{ print $NF,$0 }' | sort -k1,1 -n | cut -f2- -d' '

В awk выражение $x ссылается на x-th столбец текущей строки (запускающийся с 1) - и предварительно определенная переменная NF хранит число столбцов текущей строки, таким образом print $NF,$0 печать для каждой строки последний столбец и полная строка (потому что $0 обозначает полную строку). cut управляйте затем производит 2-е к последнему столбцу каждой строки.

-k1,1 часть вида означает, что только первый столбец используется в качестве ключа сортировки - это только имеет значение, когда больше чем одна строка имеет то же значение в первом столбце. Без -k1,1 следующие столбцы будут влиять на относительный порядок (как вторичный и так далее ключ сортировки) в этом случае. С -k1,1 только первый столбец используется в качестве ключа сортировки - и относительный порядок строк с тем же ключом не изменяется (т.е. стабильный вид выполняется).

sed

Кроме того, можно решить его через sort и sed:

$ ./script | sed 's/^\(.\+[ \t]\+\)\([0-9]\+ *\)$/\2 \1/' | \
     sort -k1,1 -n | sed 's/^\([0-9]\+\) \(.\+\)$/\2 \1/'

Где через новую строку в конце первой строки оставляют \ - можно удалить это \ и введите канал как одну строку.

Идея является к первому шагу последним столбцом к передней стороне, виду первым столбцом и затем поместила его в спину снова.

Предполагается, что последний столбец разделяется через пробел, т.е. [ \t]\+ (пробелы или вкладки).

sed выражения делают свопинг через ссылки группы (например. \2 \1) - группы отмечены в шаблоне через завершенные круглые скобки: \(...\)

7
27.01.2020, 20:27
  • 1
    Что, если я хочу, чтобы вид произошел на 3-м столбце? Это имеет слово "дни =" перед числом? 37622 (это || test1) && (SGD || гонконгский доллар || юань) days=630 40010 43944 (это) && (SGD || гонконгский доллар) days=80 102732 79378 (это || test2) && (гонконгский доллар || юань) days=800 205425 результат, который я ищу, 43944 (это), && (SGD || гонконгский доллар) days=80 102732 37622 (это || test1), && (SGD || гонконгский доллар || юань) days=630 40010 79378 (это || test2), && (гонконгский доллар || юань) days=800 205425 –  user11496 19.03.2012, 11:17
  • 2
    @user11496, отправьте новый вопрос - разрывы строки в комментарии мешают, действительно понимают. –  maxschlepzig 19.03.2012, 17:36
  • 3
    Вы правы. Я отправил новый с подчиненным "видом Linux предпоследний столбец" –  user11496 20.03.2012, 03:48

Теги

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