Исполняемый каталог? И chmod o+w изменение терминального цвета каталога?

Попробуйте:

ceil() {                                                                       
  echo "define ceil (x) {if (x<0) {return x/1} \
        else {if (scale(x)==0) {return x} \
        else {return x/1 + 1 }}} ; ceil($1)" | bc
}

Затем:

$ ceil 5.1
6
$ ceil 5.5
6
$ ceil 5.9
6
0
11.06.2017, 02:53
1 ответ

Вот как бы я это сделал:

perl -MTie::File -e'
    tie @lines,"Tie::File","your_file";
    for(@lines){
        next unless /,/; # Skip lines with no commas
        $csv = /(\s*[^,\s]+,.*)/;
        $new_csv = join ",",reverse split /,/,$csv;
        s/\Q$csv/$new_csv/;
    }'

Отказ от ответственности!!

Это приведет к изменению файла in situ . Используйте фиктивную копию файла, если это не требуется.

Версия, которая не изменит исходный файл

perl -pe'
        next unless /,/; # Skip lines with no commas
        chomp;
        $csv = /(\s*[^,\s]+,.*)/;
        $new_csv = join ",",reverse split /,/,$csv;
        $new_csv .= "\n"; # The newline removed by chomp
        s/\Q$csv/$new_csv/;
    ' your_file

Допущения

  • Вас не волнует интервал вокруг запятых.
  • Первое из значений CSV смещения от .BYTE по крайней мере одним космосом.
  • Под «сторнированием порядка» подразумевается обращение порядка, в котором они находятся в файле, без сортировки по убыванию числового порядка.

Input

ITINERARY_ARRAY_01
    .BYTE <ITINERARY_00A
    .BYTE <ITINERARY_01A
    .BYTE <ITINERARY_02A
    .BYTE <ITINERARY_03A
    .BYTE <ITINERARY_04A
    .BYTE <ITINERARY_05A
    .BYTE <ITINERARY_06A
    .BYTE <ITINERARY_07A
    .BYTE <ITINERARY_08A
    .BYTE <ITINERARY_09A
    .BYTE <ITINERARY_10A
    .BYTE <ITINERARY_11A
    .BYTE <ITINERARY_12A
    .BYTE <ITINERARY_13A
    .BYTE <ITINERARY_14A
;-------------------
ITINERARY_01E
    .BYTE $03, $05, $07, $00
;-------------------
ITINERARY_01F
    .BYTE $03, $05, $07, $09, $00
;-------------------
ITINERARY_01G
    .BYTE $28, $0D, $00
;-------------------
ITINERARY_01H
    .BYTE $28, $0D, $0F, $13, $00
;-------------------
ITINERARY_01I
    .BYTE $28, $0D, $0F, $11, $00
;-------------------
ITINERARY_01J
    .BYTE $03, $05, $07, $09, $20, $1E, $00
;-------------------
ITINERARY_01K
    .BYTE $28, $0D, $0F, $13, $15, $00
;-------------------
ITINERARY_01L
    .BYTE $03, $05, $07, $09, $20, $1E, $1C, $27
    .BYTE $00
;---------------------

Output

ITINERARY_ARRAY_01
    .BYTE <ITINERARY_00A
    .BYTE <ITINERARY_01A
    .BYTE <ITINERARY_02A
    .BYTE <ITINERARY_03A
    .BYTE <ITINERARY_04A
    .BYTE <ITINERARY_05A
    .BYTE <ITINERARY_06A
    .BYTE <ITINERARY_07A
    .BYTE <ITINERARY_08A
    .BYTE <ITINERARY_09A
    .BYTE <ITINERARY_10A
    .BYTE <ITINERARY_11A
    .BYTE <ITINERARY_12A
    .BYTE <ITINERARY_13A
    .BYTE <ITINERARY_14A
;-------------------
ITINERARY_01E
    .BYTE $00, $07, $05, $03
;-------------------
ITINERARY_01F
    .BYTE $00, $09, $07, $05, $03
;-------------------
ITINERARY_01G
    .BYTE $00, $0D, $28
;-------------------
ITINERARY_01H
    .BYTE $00, $13, $0F, $0D, $28
;-------------------
ITINERARY_01I
    .BYTE $00, $11, $0F, $0D, $28
;-------------------
ITINERARY_01J
    .BYTE $00, $1E, $20, $09, $07, $05, $03
;-------------------
ITINERARY_01K
    .BYTE $00, $15, $13, $0F, $0D, $28
;-------------------
ITINERARY_01L
    .BYTE $27, $1C, $1E, $20, $09, $07, $05, $03
    .BYTE $00
;---------------------
-121--120286-

Для общего табличного выравнивания требуется утилита column .

Например:

(
 printf 'PID\tUSER\tAPPNAME\n'
 printf '%s\t%s\t%s\n' "1" "john" "foo bar"
 printf '%s\t%s\t%s\n' "12345678" "someone_with_a_long_name" "pop tart"
) | column -t -s $'\t'

Результат:

PID       USER                      APPNAME
1         john                      foo bar
12345678  someone_with_a_long_name  pop tart
-121--78153-

Цвета

Цвет контролируется файлами DIR _ COLORS * , которые находятся под '/etc. Например, на Fedora 19 У меня есть следующие файлы 3:

$ ls -l /etc/DIR_COLORS*
-rw-r--r--. 1 root root 5004 Jan 20  2014 /etc/DIR_COLORS
-rw-r--r--. 1 root root 5682 Jan 20  2014 /etc/DIR_COLORS.256color
-rw-r--r--. 1 root root 4646 Jan 20  2014 /etc/DIR_COLORS.lightbgcolor

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

$ ls --color=never <other options>

Файлы DIR _ COLORS * можно просматривать, они просто текстовые и имеют достойные комментарии, объясняющие их функциональность. В этой строке отображается зеленый цвет:

OTHER_WRITABLE 34;42 # dir that is other-writable (o+w) and not sticky

Исполняемые каталоги

Каталоги должны быть исполняемыми, чтобы пользователь мог cd в них и выполнять команды. Без этого бита доступ к каталогам невозможен.

$ mkdir adir
$ chmod 644 adir
$ cd adir
bash: cd: adir: Permission denied

Причины, лежащие в основе этого, уже подробно обсуждаются в этом другом ответе на вопросы и ответы, озаглавленном: Execute vs Read bit. Как работают разрешения каталогов в Linux? .

2
28.01.2020, 02:36

Теги

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