abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
včera 16:55 | Komunita

Handshake, decentralizovaná certifikační autorita a peer-to-peer DNS aneb DNS v blockchainu, postupně rozděluje mezi svobodné a open source projekty celkově 10,2 milionu dolarů. V srpnu získalo 300 000 dolarů GNOME a 100 000 dolarů GIMP. Dnes oznámila nezisková organizace KDE e.V. zastupující komunitu kolem KDE v právních a finančních záležitostech, že od Handshake získala 300 000 dolarů, z čehož 100 000 dolarů je alokováno pro multiplatformní balík svobodných kancelářských a grafických aplikací Calligra.

Ladislav Hagara | Komentářů: 3
12.10. 15:44 | Nová verze

Po třech letech od vydání verze 5.0 byla vydána nová major verze 6.0 v Javě napsané aplikace pro komplexní návrh rozmístění nábytku a dalšího vybavení v interiérech Sweet Home 3D. Přináší celou řadu novinek. Zdůraznit lze možnost otevírání oken, dveří nebo skříněk. Zmínit lze také novou figurínu s otočnými klouby.

Ladislav Hagara | Komentářů: 20
12.10. 15:00 | Nová verze

Byla vydána nová verze 2018-10-09 linuxové distribuce Raspbian určené především pro jednodeskové miniaturní počítače Raspberry Pi. Přehled novinek v poznámkách k vydání. Společně s Raspbianem byl aktualizován také instalační nástroj NOOBS (New Out Of the Box Software). Z novinek je nutno upozornit na odstranění programu Wolfram Mathematica.

Ladislav Hagara | Komentářů: 2
11.10. 22:44 | Zajímavý projekt

V rámci projektu PRIM (Podpora rozvíjení informatického myšlení), jehož cílem je "podporovat změnu orientace školského předmětu informatika z uživatelského ovládání ICT směrem k základům informatiky jako oboru", byly na stránkách iMyšlení (informatické myšlení) představeny volně stažitelné učebnice a výukové materiály pro výuku informatiky. Videozáznam z tiskové konference na Facebooku.

Ladislav Hagara | Komentářů: 2
11.10. 13:22 | Nová verze

Nadace Free Software Foundation (FSF) zveřejnila na svých stránkách prohlášení k připojení Microsoftu k Open Invention Network (OIN): Je to krok správným směrem. Problematiku softwarových patentů to ale neřeší. OIN pokrývá pouze část svobodného softwaru. Smlouvu s OIN lze vypovědět s 30 denní lhůtou. FSF vyzývá Microsoft, aby 1) jednoznačně potvrdil, že ukončil všechny patentové spory související s Linuxem v Androidu, 2) s členy OIN

… více »
Ladislav Hagara | Komentářů: 2
10.10. 22:22 | Komunita

Bradley M. Kuhn se v příspěvku na blogu Software Freedom Conservancy zamýšlí nad připojením Microsoftu k Open Invention Network. Žádá Microsoft, aby jako gesto dobré vůle a jako důkaz, že to myslí opravdu vážně, sám commitnul zdrojové kódy proprietárního patentovaného souborového systému exFAT pod licencí GPLv2+ do upstreamu Linuxu.

Ladislav Hagara | Komentářů: 32
10.10. 18:11 | Komunita

Microsoft se připojil k organizaci Open Invention Network, zkráceně OIN, založené v roce 2005 za účelem vytvoření a správy portfolia patentů, jeho sdílení a použití v patentových sporech k ochraně Linuxu a open source softwaru. Portfolio patentů se tím rozšířilo o více než 60 000 patentů.

Ladislav Hagara | Komentářů: 8
10.10. 15:25 | Zajímavý článek

Vědci z Národního ústavu duševního zdraví (NÚDZ) v Klecanech experimentálně zjistili (publikace v BioMed Research International), že používání GPS navigace v chytrých brýlích mění strukturu mozku. U testované skupiny došlo už po třech měsících ke snížení počtu spojení mezi hipokampem a ostatními částmi mozku.

Blaazen | Komentářů: 13
10.10. 08:55 | Komunita

Diskusi vyvolala stránka Flatpak - bezpečnostní noční můra (flatkill.org) popisující bezpečnostní problémy technologie Flatpak [reddit, Hacker News].

Ladislav Hagara | Komentářů: 80
9.10. 23:55 | Nová verze

V Orlandu probíhá konference AstriCon 2018 věnovaná Asterisku (Wikipedie), tj. svobodné softwarové implementaci telefonní ústředny (PBX). Při té příležitosti byla vydána nová verze 16 Asterisku a nová verze 15 webového rozhraní k Asterisku FreePBX. Dění na konferenci lze sledovat na Twitteru.

Ladislav Hagara | Komentářů: 0
Přispíváte osobně k vývoji svobodného softwaru?
 (40%)
 (41%)
 (23%)
 (22%)
 (10%)
 (37%)
Celkem 206 hlasů
 Komentářů: 7, poslední včera 22:28
Rozcestník

BASH - V

21. 11. 2003 | Jan Fuchs | Návody | 38912×

V předposlední části seriálu si ukážeme, jak pracovat s dokumenty here, metaznaky shellu, regulárními výrazy, filtry a proudovými editory.

Obsah jednotlivých dílů

  1. Úvod, editace příkazové řádky
  2. Základní příkazy, roury a přesměrování
  3. Proměnné, podmínky a cykly
  4. Funkce a příkazy
  5. Dokumenty here, regulární výrazy
  6. Ladění skriptů, odchytávání signálů a příklady

Dokumenty here

Umožňují předat vstup příkazu ze samotného skriptu. Ukážeme si to na skriptu here.sh.

#!/bin/bash

cat <<EOF
\$USER=$USER
\$HOME=$HOME
\$SHELL=$SHELL
EOF

cat <<"EOF" | egrep 'J|u'
Jestliže nechceme expandovat proměnné, uzavřeme příznak určující konec vstupu do uvozovek ($USER, $HOME, $SHELL).
EOF

exit 0

Ještě si skript spustíme.

# ./here.sh $USER=root
$HOME=/root
$SHELL=/bin/bash
Jestliže nechceme expandovat proměnné, uzavřeme příznak určující konec vstupu do uvozovek ($USER, $HOME, $SHELL).

Metaznaky shellu

Lze je použít k neúplnému zadání jména souboru.

POZOR neztotožňujte metaznaky shellu s regulárními výrazy, jsou to dvě různé věci. Metaznaky expanduje přímo shell. A proto když chceme nějakému programu předat regulární výraz, musíme ho uzavřít například do apostrofů.

  • * - libovolný řetězec (může být i nulové délky)
  • ? - libovolný jeden znak
  • ~ - domovský adresář ($HOME)
  • ~UJ - domovský adresář uživatele UJ
  • ~+ - aktuální pracovní adresář ($PWD)
  • ~- - předchozí pracovní adresář ($OLDPWD)
  • [abc...] - jakýkoliv znak uvedený v [], lze použít - k zápisu intervalu znaků např a-z, 0-9
  • [!abc...] - opak předchozího (tj. jakýkoliv znak mimo uvedených znaků v [])

První příkaz smaže zálohy souborů (soubory končící na ~). Znak ~ nebude v tomto případě expandován.

$ rm *~
$ ls dil*.html
dil2.html  dil3.html  dil4.html  dil5.html  dil6.html
$ ls [di]*.html
dil2.html  dil3.html  dil4.html  dil5.html  dil6.html  index.html

Regulární výrazy

Jsou (mými slovy, přesná definice je "trochu" složitější :-D) vzory, s jejichž pomocí lze definovat společné rysy několika různých řádků a tím pádem je reprezentovat jako jeden regulární výraz. Níže uvedené speciální znaky jsou použitelné např. v grep, egrep, sed, ed, ex, awk.

  • . - jakýkoliv znak (mimo znaku nového řádku)
  • * - libovolný počet (i nulový) opakování předchozího znaku (lze použít i regulární výraz)
  • ^ - následující výraz musí odpovídat začátku řádku
  • $ - předchozí výraz musí odpovídat konci řádku
  • \ - vypíná speciální význam následujícího znaku
  • [] - jakýkoliv znak uvedený v hranatých závorkách, speciální znaky zde mají normální význam, mimo - tu lze použít pro zápis intervalů (a-z atd.) a znak ^ uvedený jako první způsobí negaci (tj. jakýkoliv znak neuvedený v ...)

Použijeme programy cat, grep a všechno si poctivě vyzkoušíme.

$ cat << END > ./retezce.txt
> abclinuxu
> alfa
> aaa
> abcabcabc
> znak $
> a1a
> aAa
> END
$ cat ./retezce.txt | grep '.*'
abclinuxu
alfa
aaa
abcabcabc
znak $
a1a
aAa
$ cat ./retezce.txt | grep '.* \$'
znak $
$ cat ./retezce.txt | grep '^a[a-z]*a$'
alfa
aaa
$ cat ./retezce.txt | grep '^a[a-z0-9]*a$'
alfa
aaa
a1a

Filtry

Jsou programy, které ze vstupu podle zadaného vzoru odfiltrují jen námi požadovaná data a pošlou je na výstup. Jsou jimi např. grep, egrep (grep -E) a fgrep (grep -F), jsou to vlastně stejné programy. Pro nás je důležité, že grep používá pro zápis regulárních výrazů starší notaci a egrep naopak novější notaci. Níže uvedené speciální znaky patří do novější notace a chceme-li je použít ve filtru grep, musíme před ně zapsat znak \.

  • + - jeden a více výskytů předchozího výrazu.
  • ? - jeden nebo žádný výskyt předchozího výrazu.
  • | - předcházející nebo následující výraz.
  • () - text odpovídající výrazu mezi závorkami se uloží do paměti a lze ho použít pomocí \1\9, čísluje se od vnějších závorek směrem dovnitř (např. ((abc)linuxu) \1 = "abclinuxu") a \2 = "abc". Nebo lze použít závorky k definování priority vyhodnocení.
  • {n,m} - interval opakování předchozího výrazu, {n} - opakuje se n-krát, {n,} n-krát a více, {n,m} n-krát až m-krát

Pro lepší pochopení uvedu opět několik příkladů.

$ cat ./retezce.txt | grep '^a\+$'
aaa
$ cat ./retezce.txt | egrep '^a+$'
aaa
$ cat ./retezce.txt | egrep '^abcl?'
abclinuxu
abcabcabc
$ cat ./retezce.txt | egrep '^c|z'
znak $
$ cat ./retezce.txt | egrep '(abc)+'
abclinuxu
abcabcabc
$ cat ./retezce.txt | egrep '^(.*)\1\1$'
aaa
abcabcabc
$ cat ./retezce.txt | egrep '^a{3}$'
aaa
$ cat ./retezce.txt | egrep '^a{2,}$'
aaa
$ cat ./retezce.txt | egrep '^a{1,3}$'
aaa

Proudové editory

Z názvu je zřejmé, že slouží k proudové editaci dat. O načítání vstupu se starají sami. Mají k dispozici sadu příkazů, pomocí které data upravují (obvykle pracují s jedním řádkem), např. sed a nebo na složitější věci awk.

Sed

Syntaxe příkazu:

Začátek,Konec!InstrukceArgumenty

  • Začátek - číslo řádku ($ značí poslední řádek) nebo /regulární výraz/
  • Konec - číslo řádku nebo /regulární výraz/
  • ! - neguje předchozí body
  • Instrukce - mají jedno písmeno
  • Argumenty - k některým instrukcím

Není-li uveden Začátek a Konec, aplikuje se instrukce na každý vstupní řádek. Je-li uveden pouze Začátek, aplikuje se instrukce pouze na odpovídající řádek (či řádky) a je-li uvedeno obojí, tak od řádku odpovídajícímu Začátek se budou aplikovat instrukce a od řádku odpovídajícímu Konec se aplikovat přestanou. Níže jsou uvedeny některé Instrukce a jejich Argumenty.

  • s/vzorek/náhrada/příznaky - nahradí první nalezený vzorek náhradou. Příznaky: n - nahradí n-tý výskyt vzorku (1 až 512), g - nahradí všechny výskyty vzorku.
  • w soubor - do souboru uloží vstupní řádek (řádky)
  • r soubor - soubor načte do vstupu
  • p - vypíše vstupní řádek na výstup
  • n - přesune se na další vstupní řádek
  • d - vstupní řádek je smazán
  • y/původní znaky/nové znaky/ - přeloží znaky (man tr)
  • : - označí řádek skriptu pro odskok Instrukcí t nebo b
  • t - byla-li provedena substituce, skočí na následující značku :, není-li uvedena, skočí na konec skriptu
  • {} - zajistí aplikaci více příkazů na jednu adresu
$ cat ./retezce.txt | sed '2,$s/a/?/g'
abclinuxu
?lf?
???
?bc?bc?bc
zn?k $
?1?
?A?
$ cat ./retezce.txt | sed -n '2p'
alfa
$ cat ./retezce.txt | sed -n '1{
> n
> p
> }'
alfa
$ cat ./retezce.txt | sed '2p
> d'
alfa
$ cat ./retezce.txt | sed '4y/a/?/
> 4!d'
?bc?bc?bc

Na závěr uvedu ještě jeden příklad ve formě skriptu sed.sh.

#!/bin/bash

spojka="je bydliště"
cat <<EOF | sed \
"s/^\(.\+j\) \(.\+\)o:\(.\+\)\$/\3 $s \1e \2a/
 t
 s/^\(.\+j\) \(.\+\):\(.\+\)\$/\3 $s \1e \2a/
 t
 s/^\(.\+\) \(.\+\)o:\(.\+\)\$/\3 $s \1a \2a/
 t
 s/^\(.\+\) \(.\+\):\(.\+\)\$/\3 $s \1a \2a/"
Petr Novák:Praha
Viktor Igo:Brno
Blažej Vodník:Plzeň
Jan Hugo:Hradec Králové
Metoděj Sporák:Ostrava
EOF

exit 0

Výstup skriptu vypadá následovně.

$ ./sed.sh
Praha je bydliště Petra Nováka
Brno je bydliště Viktora Iga
Plzeň je bydliště Blažeje Vodníka
Hradec Králové je bydliště Jana Huga
Ostrava je bydliště Metoděje Sporáka

V případě, že bychom chtěli zajistit správné skloňování úplně pro všechny jména a přijmení, určitě by výše uvedené řešení nebylo to nejkratší a nejvhodnější, berte ho pouze jako ukázku.

Nejčtenější články posledního měsíce

Microsoft Office 2016 Professional Plus za méně než 570 korun!
Jak ušetřit za ukládání dat? Zkuste housing a servery od Czech-Server.cz
Linuxové herní novinky – květen 2018

Nejkomentovanější články posledního měsíce

Linuxové herní novinky – květen 2018
  všechny statistiky »

Seriál BASH (dílů: 6)

BASH - I (první díl)
<—« BASH - IV
»—> BASH - VI
BASH - VI (poslední díl)

Související články

BASH - I (Úvod, editace příkazové řádky)
BASH - II (Základní příkazy, roury a přesměrování)
BASH - III (Proměnné, podmínky a cykly)
BASH - IV (Funkce a příkazy)
BASH - VI (Ladění skriptů, odchytávání signálů a příklady)

Odkazy a zdroje

BASH - GNU Project

Další články z této rubriky

MapTiler – proměňte obrázek v zoomovatelnou mapu
Syncthing
Twibright Registrator: Instalace, odinstalace, test, základní použití
Twibright Registrator: fotografie v šeru bez stativu 2
Twibright Registrator: fotografie v šeru bez stativu 1
       

Hodnocení: 37 %

        špatnédobré        

Nástroje: Tisk bez diskuse

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

Komentáře

Vložit další komentář

24.11.2003 18:18 me
Rozbalit Rozbalit vše Lepsi priklad prosim
Domnivam se, ze by bylo pro zacatecniky uzitecnejsi, kdyby jim byl nabidnut priklad, ktery budou moci pouzit v beznem zivote. Priklad u prikazu sed je sice zajimavy ale neprosto neuzitecny. Radsi by jsem se naucil jak vypreparovat prvni radek souboru, jak ziskat radek posledni, jak ziskat vse krome prvniho radku, ... Proste par jednoduchych prikazu, ktere se obcas hodi a pritom demonstruji moznosti a pouziti sed editoru. A az potom treba nejaky absurdni priklad, demonstrujici rozsirene moznosti...
Fuky avatar 24.11.2003 20:47 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Lepsi priklad prosim
$ sed -n '1p' < ./soubor
První řádek
$ sed -n '$p' < ./soubor
Poslední řádek
$ sed -n '1!p' < ./soubor
Druhý řádek
Třetí řádek
Poslední řádek

Chce ještě někdo zodpovědět nějaký konkrétní příklad?

3.1.2004 14:41 Jaroslav Novak
Rozbalit Rozbalit vše Lepsi priklad prosim
Zajimalo by me, jak projit nekolik souboru v adresari a v kazdem nahradit dane slovo nejakym jinym. To je takovy priklad ze zivota.
Fuky avatar 3.1.2004 18:34 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše RE: Lepsi priklad prosim
#!/bin/bash

mv $1 $1.old
sed 's/ahoj/nazdar/' $1.old > $1
#rm $1.old
exit 0

$ find -type f | xargs -i ../skript.sh {}
3.1.2004 20:02 Jaroslav Novak
Rozbalit Rozbalit vše RE: Lepsi priklad prosim
Dekuji, a dalo by se pred kazde nalezene "ahoj" vlozit odradkovani? Nebo nahradit "ahoj" znakem pro odradkovani a opet "ahoj". Jenom me nenapada jak napsat ten znak pro odradkovani. Nebo i jine znaky, jako treba tabulator.
Fuky avatar 24.2.2004 00:01 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše RE: Lepsi priklad prosim
$ cat soubor
nazdarahojnazdarahojnazdarahojnazdar

$ sed 's/ahoj/\n/g' < ./soubor
nazdar
nazdar
nazdar
nazdar

$ sed 's/\(ahoj\)/\n\1\n/g' < ./soubor
nazdar
ahoj
nazdar
ahoj
nazdar
ahoj
nazdar
20.3.2011 16:21 conf
Rozbalit Rozbalit vše Re: RE: Lepsi priklad prosim
zdravim, chtel bych se zeptat jestli je nejaka moznost jak si v sedu ulozit nalezeny vzorek a pak ho pouzit napr: mám nejakou vetu: testovaci věta je toto. a nad kazdym radkem souboru mam posloupnost prikazu sed -e "s/blabla/" a v jednu chvili potrebuju najit vzorek věta a nahradit ho napr. světak ...takze světak

je tedy nejak mozne uprostred sedu si vzorek ulozit do promene nb ho primo prenest do prostred vkladane substituce? děkuji
23.2.2004 15:32 JaSel | skóre: 17 | blog: kseles
Rozbalit Rozbalit vše Lepsi priklad prosim
Nejak to nemuzu rozlousknout: Potrebuju vymazat vsechny radky, na kterych je slovo 'Error'. Predem dik za radu.
Fuky avatar 23.2.2004 23:31 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše RE: Lepsi priklad prosim
$ cat soubor
Řádek 1
Error 2
Řádek 3
Error 4
$ egrep -v '^Error.+$' < ./soubor
Řádek 1
Řádek 3
4.3.2004 15:53 Jan Perich
Rozbalit Rozbalit vše Prosim o radu
Každopádně díky za váš seriál. Je super.

Vícekrát jsem řešil problém, že potřebuju získat ze souboru nějakou konkrétní informaci a tu pak předat do nějaké proměnné.

napr: Někde v souboru (o více řádcích) by se mělo vyskytovat "Access Point: MAC adresa"

řešil jsem to takhle:

APMAC=`cat soubor | \/bin/sed -e \ "/Access Point/!d /Access Point/s/.*Access Point: \([0-9A-F:]\{17\}\) */\1/ "`

ale zdá se mi to hrozně krkolomné. Šlo by to zjednodušit (nebo dělat nějak úplně jinak?)
Fuky avatar 8.3.2004 20:38 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše RE: Prosim o radu
sed -n 's/.*Access Point: \([0-9A-F:]\{17\}\).*/\1/p' soubor
6.3.2005 11:17 J. Krajkář
Rozbalit Rozbalit vše Použití filtru...
Dobrý den, jsem začátečník v Bashi i v Linuxu jako takovém a řeším teď takový skriptík, který načte své argumenty a potom s nimi operuje jako s čísly (přesněji řečeno - snaží se je seřadit), ale pokud zadám do argumentů nečíselnou hodnotu (třeba ahoj), tak ostatní čísla sice seřadí, ale vypíše hodně chybových hlášek a to ahoj mezi čísly zůstane. Nešlo by přes grep zařídit, aby nečíselné argumenty ignoroval? Jestli ano, tak jak?
Fuky avatar 7.3.2005 12:33 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: Použití filtru...

Můžeš např. všechno kromě čísel a mezer smazat.

$ echo "1234 ahoj 4321" | sed -n 's/[^0-9 ]//gp'
1234  4321

Ale podle mě bude lepší zkontrolovat všechny argumenty a v případě, že uživatel v některém z nich zadá cokoliv jiného než číslo, zakřičí se na něj a program se ukončí.

for argument in $@; do
  if [ $(echo $argument | grep '[^0-9]' | wc -l) -ne 0 ]; then
    echo "Argument '$argument' není číslo!!!"
    exit 1
  fi
done
10.3.2005 16:37 J. Krajkář
Rozbalit Rozbalit vše Re: Použití filtru...
Výborně, všecho funguje tak, jak má. Mnohokrát děkuji...
19.12.2006 12:22 poraďte prosím
Rozbalit Rozbalit vše Re: BASH - V
potřebuju poradit jak mám udělat abych do proměnné dostal počet nějakých řetězcu které jsou v souboru
Fuky avatar 19.12.2006 12:35 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: BASH - V

Rádi Ti pomůžeme, ale specifikuj prosím Tvůj problém jednoznačně, nejlepší bude když uvedeš konkrétní příklad, co máš a co z toho chceš dostat.

19.12.2006 12:47 poraďte prosím
Rozbalit Rozbalit vše Re: BASH - V
No mám adresář ahoj a uvnitř mám soubory. Mam vybrat soubory s příponou xml, které obsahujou takové značky jako v html kodu no a já chci spočítat kolik je těch značek v každém souboru a zapsat do souboru který se bude jmenovat jako orinalni_nazev_souboru.statistika.txt
Fuky avatar 26.12.2006 14:31 Fuky | skóre: 52 | blog: 4u
Rozbalit Rozbalit vše Re: BASH - V

$ cat pocet_tagu.sh
#!/bin/bash

if [ $# -ne 1 ]; then
  echo "Usage: $0 file.xml"
  exit
fi

echo -e "\n$1:"

tags_all=$(cat $1 |sed -n 's/[^>]*\(<[^ >]\+[ >]\)/\1\n/gp' |grep "^<[^\/]" |sort)
tags_uniq=$(echo $tags_all |sed 'y/ /\n/' |uniq)

for tag in $tags_uniq; do
  count=$(echo $tags_all |sed 'y/ /\n/' |grep $tag |wc -l)
  printf "  %-20s %10i\n" $tag $count
done

$ find -type f -regex ".*\.xml" |xargs -i ./pocet_tagu.sh {}

./soubor02.xml:
  <accelerator                  2
  <!DOCTYPE                     1
  <glade-interface>             1
  <child>                     236
  <child                      250
  <packing>                   206
  <placeholder/>                2
  <property                  2521
  <signal                      36
  <widget                     258
  <?xml                         1

./soubor01.xml:
  <kocka>                       2
  <pes>                         2
  <xml>                         1
  <zvire>                       2

30.11.2007 01:08 pez
Rozbalit Rozbalit vše Re: BASH - V
;-)
IFS="<";
set -- $(cat "$1");
for tag in "$@" ; do
        IFS=" >";
        set -- $tag;
        echo "$1";
done | sort | uniq -c
30.11.2007 01:19 pez
Rozbalit Rozbalit vše Re: BASH - V
nebo jeste kratsi:
IFS="<";
set -- $(cat "$1");
for tag in "$@" ; do echo "${tag%%[ >]*}"; done | sort | uniq -c
10.1.2007 20:37 Jozef Behrán
Rozbalit Rozbalit vše Vyhodnocování tildy
V článku chybí, že metaznak "~" se vyhodnocuje pouze pokud je na začátku argumentu:
$ echo ~
/home/jozef
$ echo a~
a~
$ echo a\ ~
a ~
10.1.2007 21:00 Jozef Behrán
Rozbalit Rozbalit vše Třeba pri používání "--prefix"
Což může mít význam třeba při kompilaci:
$ ./configure --prefix=~/myprogs
configure: error: expected an absolute directory name for --prefix: ~/myprogs
$ ./configure --prefix=$HOME/myprogs
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
... atd. (takhle mi to už funguje) ...
P.S. Takhle kompiluju software pokud nechci spouštět make install jako root. Prostě jsem si do .bash_profile přidal příkaz který přidal ~/myprogs/bin do PATH a můžu takhle zkompilovaný a nainstalovaný programy normálně spouštět jako kdyby byli kompilované instalované "normálním způsobem". Zatím mi všechny takhle kompilované a instalované programy fungovali bez problémů (mezi nimi jsou i takové fajnové vychytávky jako třeba mplayer). Dělám to tak, protože jsem poněkud paranoidní co se týče poskytování ROOT oprávnění neznámým skriptům a programům (čti: normální sysadmin).
10.7. 13:45 tecno price
Rozbalit Rozbalit vše Re: Třeba pri používání "--prefix"
This is a very nice article for a blog thanks man Tecno price and specifications
21.4.2014 16:13 pomo
Rozbalit Rozbalit vše Re: BASH - V
potreboval by som zo stringu ktory vyyera nejak tak, ze vsetko je jeden riadok " ****** 2010 ahoj = 2010 ahoj = afhdufh "atd ze mi zoberie vsetko co zacina 4 cislom a konci = a vzpice mi to na konzulu a vzdy na novy riadok
11.1. 15:54 Sir
Rozbalit Rozbalit vše Re: BASH - V
I’ve been surfing online more than three hours today, yet I never found any interesting article like yours. It’s pretty worth enough for me. In my opinion, if all webmasters and bloggers made good content as you did, the web will be a lot more useful than ever before. Benefits of Cucumber
13.1. 19:30 Sir
Rozbalit Rozbalit vše Re: BASH - V
Please share more like that. Questions to Ask a Guy
25.1. 18:29 scooter insurance
Rozbalit Rozbalit vše Re: BASH - V
Interesting topic for a blog. I have been searching the Internet for fun and came upon your website. Fabulous post. Thanks a ton for sharing your knowledge! It is great to see that some people still put in an effort into managing their websites. I'll be sure to check back again real soon. scooter insurance
11.3. 06:35 sirking79
Rozbalit Rozbalit vše Re: BASH - V
Nice post. I was checking constantly this blog and I am impressed! Extremely helpful information specially the last part I care for such info a lot. I was seeking this particular information for a very long time. Thank you and good luck. Tech Blog
Yeah That is right broTecno L8 Plus
19.8. 20:21 Solo ibrabhim ads
Rozbalit Rozbalit vše Re: BASH - V
Wow this is nice things about solo ads and you really add value to your traffic and beat the competetion with soloadsus
30.8. 08:30 R P
Rozbalit Rozbalit vše Re: BASH - V
I like this thread very much, you should promote business opportunities with https://oursoloads.com/
30.8. 08:34 R P
Rozbalit Rozbalit vše Re: BASH - V
Enjoyable thread for sure. Just as enjoyable as reviews on http://reviewsprotocol.com/
14.9. 17:23 Tom777
Rozbalit Rozbalit vše Re: BASH - V
Excellent article there. I really liked it a lot. The presenter made out some really serious points. Its hard to find such good presentations around. Excellent work. Here's a nice site you may also like.

Založit nové vláknoNahoru

ISSN 1214-1267   www.czech-server.cz
© 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.