Názory k článku
Drobnosti ze shellového zápisníku (3)
take "Socialisticke prasatko" ;-)
celé vláknoBez titulku
celé vlákno> Na druhé konstrukci je poněkud nepraktické, že sed jako filtr nezpracuje jména souborů obsahující znak konce řádku (ač je v dokumentaci zmíněno, že je to možné pomocí konstrukce \n, nepodařilo se mi to použít v praxi)
Klasicky sed nacita do pattern space prave jednu radku pricemz znak
nove radky do pattern space neuklada. Proto chcete-li pouzit znak '\n'
v regularnim vyrazu, musite do pattern space explicitne (prikazem N)
nacist alespon jeste jednu radku. Priklad:
$ cat f2
line1
line2
$ sed -n -e 'N;s/\n/_/g;p' < f2
line1_line2
$ sed -n -e 'l;N;l;s/\n/_/g;l;p' < f2
line1$
line1\nline2$
line1_line2$
line1_line2
Radka se znakem '$' na konci je obsah pattern space vypsany prikazem l.
Pro nacitani jmen se znakem '\n' se tento postup nehodi, protoze
jejich pocet neni predem znam.
> a že znak <NULL> se poměrně špatně píše na klávesnici.
Solarisi dokumentace ke klasickemu sedu doslova uvadi:
The sed utility is a text editor. It cannot edit binary files or files containing ASCII NUL (\0) characters or very long lines.
Re: sed
celé vláknoTo GNU sed si poradí s dlouhými řádky i znakem NULL.
NULL vs. NUL
celé vláknoIMHO su NULL a NUL (resp. '\0') dve odlisne a spolu nevelmi suvisiace veci. Opravte ma ak sa mylim.
Re: NULL vs. NUL
celé vláknoVýběr ze souboru /usr/share/i18n/charmaps/ISO-8859-2.gz:
<U0000> /x00 NULL (NUL)
Tedy NUL je zkratka plného názvu ASCII znaku NULL. Kromě toho má NULL význam nulového ukazatele (tedy též nuly).
V tomto kontextu se má k sobě stejně jako LINE FEED a LF.
Je pravda, že NUL je jednoznačný (ASCII znak 0), zatímco NULL má více významů.
find
celé vláknodík.

