Как обработать, в то время как - действительно циклично выполняют и сортируют выполненный с помощью итераций вывод

Можно открыть a man страница в xterm окно с помощью следующей команды:

$ xterm -e "man xterm"

Это будет результаты в странице справочника для xterm будучи открытым в его собственном окне.

                 ss of man page in xterm

Если требуется сделать это единственной командой, которая сделает это, Вы могли создать псевдоним как так:

$ alias gman='xterm -e man \!$'

И затем используйте его как это:

$ gman xterm

Запрос страницы справочника

Вы могли использовать инструментарий GUI zenity для открытия диалогового окна, просящего страницу справочника быть введенным, затем возьмите то, что было введено, и используйте вышеупомянутый метод для открытия соответствующей страницы справочника.

$ zenity --entry --text "Enter man page name:"

Приведение к этому отображаемому диалоговому окну:

                                                 ss of zenity dialog

Полный пример

При помещении вышеупомянутого вместе Вы могли сделать что-то вроде этого:

$ xterm -e man $(zenity --entry --text "Enter man page name:")

                                                 ss of zenity + xterm

3
09.11.2014, 10:04
3 ответа

Вы можете распечатать результаты на стандартный вывод, затем pipe их на команду сортировки:

while read -r SID FIRST LAST S1 S2 S3
do
     SUM=$(expr $S1 + $S2 + $S3)
     AVG=$(expr $SUM / 3)
     printf '%d [%d] %s, %s\n' "$AVG" "$SID" "$LAST" "$FIRST"
done < "$FILE" | sort
6
27.01.2020, 21:10

Ошибки в вашем коде/использовании - это (по крайней мере):

  1. Вызов скрипта: ./Grades.sh Из-за FILE=$1 это должно быть ./Grades. sh /path/to/file

  2. OUTTOSORT = : Не должно быть пробела с обеих сторон =

  3. OUTTOSORT = OUTTOSORT + (1) : На переменные нужно ссылаться с помощью $, i. e. OUTTOSORT=$OUTTOSORT

  4. OUTTOSORT = OUTTOSORT + (2) : В bash нет такой строковой конкатеннации.

  5. "...\n" : \n не является экранирующей последовательностью в обычных строках. Например, $'line1\n'

  6. сортировка <$OUTTOSORT : $OUTTOSORT здесь должен быть файлом, но он содержит строку. Вы можете сделать это с помощью echo "$OUTTOSORT" | sort, но проще комбинация в то время как цикл и sort в конвейере, как и предлагала стилдривер.

2
27.01.2020, 21:10

После того, как вы исправили ошибки, перечисленные Хауке Лейджингом, вы можете получить сортировку , чтобы сделать то, что вы хотите, сказав ему сделать числовую сортировку, и использовать 3-е поле (столбец, содержащий фамилию) в качестве ключа сортировки.

сортировка -n -k 3

Смотрите man сортировка для получения более подробной информации.

1
27.01.2020, 21:10

Теги

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