Как изменить порядок ввода?

Вы можете использовать make.conf . См. старое объявление :

The following variables can be used in make.conf to configure options.
They are processed in the order listed below, i.e. later variables
override the effects of previous variables.  Options saved using the
options dialog are processed right before OPTIONS_SET_FORCE.

OPTIONS_SET     - List of options to enable for all ports.
OPTIONS_UNSET       - List of options to disable for all ports. 
${UNIQUENAME}_SET   - List of options to enable for a specific port.
${UNIQUENAME}_UNSET - List of options to disable for a specific port.

OPTIONS_SET_FORCE   - List of options to enable for all ports.
OPTIONS_UNSET_FORCE - List of options to disable for all ports.
${UNIQUENAME}_SET_FORCE - List of options to enable for a specific port.
${UNIQUENAME}_UNSET_FORCE
            - List of options to disable for a specific port.

To know the UNIQUENAME of a port you can run "make -V UNIQUENAME" in
a port directory.

An example configuration is given below.

OPTIONS_SET=    NLS # enable NLS for all ports unless configured
            # otherwise using the option dialog
OPTIONS_UNSET=  DOCS    # aka NOPORTDOCS

# configuration for xorg-server overriding the configuration from the
# option dialog
xorg-server_SET_FORCE=  AIGLX
xorg-server_UNSET_FORCE=HAL SUID

2
23.05.2019, 18:58
3 ответа

Несмотря на то, что мое предложение с tacсработало, я думаю, что, возможно, вы делаете это намного сложнее, чем есть на самом деле.

Если у вас есть file.txt, и вы просто хотите добавить несколько строк в начале file.txt, скажем, строки, которые у вас есть в header_file.txt, вы можете просто сделать это:

cat header_file.txt file.txt > new_playlist.txt

и готово.

4
27.01.2020, 21:50
( printf 'g?%s?m0\n' 0005 0004 0003 0002 0001 | tac ; printf 'wq\n' ) | ed -s file.txt

Это меняет местами команды ed, созданные первым printf.

3
27.01.2020, 21:50

Вместо того, чтобы перемещать строки -на -на одну вверх, вы можете переместить одну -на -на одну вниз (, что сохранит желаемый порядок ), а затем переместить их как группу на вершину. Шаг за шагом:

  1. Вставьте строку-заполнитель (, содержимое которой может быть любым -самый простой вариант — просто пустая строка ), а затем переместите выбранные строки в конец файла m$. (ПРИМЕЧАНИЕ. :Я изменил g?...?обратный поиск на более традиционныйg/.../-на самом деле не имеет значения, в каком направлении вы ищете.)

    $ { printf '$a\n\n.\n'; printf 'g/%s/m$\n' 0001 0002 0003 0004 0005; printf ',p\nq\n'; } | ed -s file.txt
    5575
    3585
    7774
    5385
    8658
    
    0001
    0002
    0003
    0004
    0005
    
  2. Теперь добавьте отметку(kx)в строке-заполнителе,чтобы мы могли адресовать строки с xпо $и перемещать их наверх, используя'x,$m0:

    $ { printf '$a\n\n.\nkx\n'; printf 'g/%s/m$\n' 0001 0002 0003 0004 0005; printf \''x,$m0\n,p\nq\n'; } | ed -s file.txt
    
    0001
    0002
    0003
    0004
    0005
    5575
    3585
    7774
    5385
    8658
    
  3. Наконец, нам нужно удалить заполнитель (, который теперь является строкой 1):

    $ { printf '$a\n\n.\nkx\n'; printf 'g/%s/m$\n' 0001 0002 0003 0004 0005; printf \''x,$m0\n1d\n,p\nq\n'; } | ed -s file.txt
    0001
    0002
    0003
    0004
    0005
    5575
    3585
    7774
    5385
    8658
    

Собираем все вместе и заменяем ,pна wqдля редактирования на месте:

$ cat file.txt
5575
3585
0004
7774
0003
5385
0001
8658
0002
0005
$
$ { printf '$a\n\n.\nkx\n'; printf 'g/%s/m$\n' 0001 0002 0003 0004 0005; printf \''x,$m0\n1d\n,wq\n'; } | ed -s file.txt
$
$ cat file.txt
0001
0002
0003
0004
0005
5575
3585
7774
5385
8658
2
27.01.2020, 21:50

Теги

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