Форматирование текста в Linux

в /etc/httpd/conf/httpd.conf я добавил:

LoadModule php5_module "/usr/lib64/php"

AddType application/x-httpd-php .php

и нашел: DirectoryIndex index.html, затем добавьте index.php

Я также удалил include_path='.:/php/includes' в /etc/php.ini

Затем yum install php php-pear

Также изменил ServerName в conf на localhost:80, и это работает!

Теперь php нормально работает с httpd

0
05.09.2017, 19:43
3 ответа

С помощью GNUsed:

$ sed -r '3,$s/(.{55} )/\1\n\t/g' file.in
Depth   Description
(ft)    -
12370.0 LS: Mdst, blsh gry, sft, occ mod firm, crpxln, prly,
        arg, SLTST: blk, firm-mod hd, amor, gt, mod calc, CLST:
        lt gry-m gry, sft, amor, wxy
12400.0 LS: Mdst, blsh gry, mod firm, crpxln, chky, arg,
        SLTST: blk-dk gry, firm-mod hd, amor, gt, mod calc, CLST:
        lt gry-m gry, occ rdsh gry, mod firm, amor, wxy, tr CHK
12430.0 LS: Mdst, blsh gry, mod firm, crpxln, chky, arg,
        SLTST: blk-dk gry, firm-mod hd, amor, gt, mod calc, SH:
        blk-dk gry, mod firm, blky-plty, occ brit, wxy
12460.0 SH: blk-dk gry, mod firm, blky-plty, occ brit, ea,
        SLTST: blk-dk gry, firm-mod hd, amor, gt, mod calc, SST:
        gry-dk gry, wl consol, v f, ang, p srt, cotd, slily calc
        cmt, no fluor

При этом в конце строк остаются пробелы, которые можно удалить, пропустив их через sed 's/ $//'.

Выражение 3,$s/(.{55} )/\1\n\t/gзаменит любую серию из 55 символов, за которой следует пробел, на те же 55 символов (и пробел ), за которым следует перевод строки и отступ на одну табуляцию. Это повторяется для всех совпадений шаблона в строке.

1
28.01.2020, 02:19

awkрешение:

awk 'NR<=2{ print }NR>2{ c=0; r=$1; 
            for(i=2;i<=NF;i++) { 
               if ((length(r) + length($i)) > (!c? 65:61)) { c++; printf "%s\n\t",r; r=$i } 
               else { r=r FS $i } if(i==NF) printf "%s",r } 
            print "" 
     }' file
  • NR<=2{ print }- вывести первые 2 строки как есть

  • rпеременная, содержащая каждую обработанную/ форматированная строка


Вывод:

Depth   Description
(ft)    -
12370.0 LS: Mdst, blsh gry, sft, occ mod firm, crpxln, prly, arg,
    SLTST: blk, firm-mod hd, amor, gt, mod calc, CLST: lt gry-m
    gry, sft, amor, wxy
12400.0 LS: Mdst, blsh gry, mod firm, crpxln, chky, arg, SLTST:
    blk-dk gry, firm-mod hd, amor, gt, mod calc, CLST: lt gry-m
    gry, occ rdsh gry, mod firm, amor, wxy, tr CHK
12430.0 LS: Mdst, blsh gry, mod firm, crpxln, chky, arg, SLTST:
    blk-dk gry, firm-mod hd, amor, gt, mod calc, SH: blk-dk gry,
    mod firm, blky-plty, occ brit, wxy
12460.0 SH: blk-dk gry, mod firm, blky-plty, occ brit, ea, SLTST:
    blk-dk gry, firm-mod hd, amor, gt, mod calc, SST: gry-dk gry,
    wl consol, v f, ang, p srt, cotd, slily calc cmt, no fluor
0
28.01.2020, 02:19

Со стандартнымawk:

{ printf("%s\t", $1) }
{
    linelen = 8;  # assume 8 spaces for the first field

    for (i = 2; i <= NF; ++i) {
        wordlen = length($i);

        if (wordlen + linelen > 65) {
            # break output line since adding next word
            # would make it too long
            printf("\n\t");
            linelen = 8; # count tab as 8 spaces
        }

        if (i < NF) {
            printf("%s ", $i);
            linelen += wordlen + 1; # +1 for the space
        } else {
            printf("%s\n", $i);
        }
    }
}

Тестирование:

$ awk -f script.awk file.in
Depth   Description
(ft)    -
12370.0 LS: Mdst, blsh gry, sft, occ mod firm, crpxln, prly, arg,
        SLTST: blk, firm-mod hd, amor, gt, mod calc, CLST: lt
        gry-m gry, sft, amor, wxy
12400.0 LS: Mdst, blsh gry, mod firm, crpxln, chky, arg, SLTST:
        blk-dk gry, firm-mod hd, amor, gt, mod calc, CLST: lt
        gry-m gry, occ rdsh gry, mod firm, amor, wxy, tr CHK
12430.0 LS: Mdst, blsh gry, mod firm, crpxln, chky, arg, SLTST:
        blk-dk gry, firm-mod hd, amor, gt, mod calc, SH: blk-dk
        gry, mod firm, blky-plty, occ brit, wxy
12460.0 SH: blk-dk gry, mod firm, blky-plty, occ brit, ea, SLTST:
        blk-dk gry, firm-mod hd, amor, gt, mod calc, SST: gry-dk
        gry, wl consol, v f, ang, p srt, cotd, slily calc cmt, no
        fluor

Единственным недостатком является то, что в большинстве строк вывода остаются пробелы в конце. Вы можете удалить их, передав вывод через sed 's/ $//'.

3
28.01.2020, 02:19

Теги

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