Portál AbcLinuxu, 11. května 2025 04:43
Dobrý den,
mám textový soubor s dosovými konci řádků 0x0D,0x0A.
Na něm provedu náhradu:
sed -i 's/STOP=.*/STOP=/' soubor.txt
(tedy každý řádek začínající řetězcem 'STOP=' nahradit tak, aby obsahoval jen řetězec 'STOP=').
SED mi upraví soubor, ale s unixovými konci řádků 0x0A. A to i na řádcích, kde se náhrada řetězců neprováděla. Proč?
Díky, JR
SED mi upraví soubor, ale s unixovými konci řádků 0x0A. A to i na řádcích, kde se náhrada řetězců neprováděla. Proč?
Tipnu si, že je naprogramován tak, aby se popral i s divnými (tj. Windows-styl) konci řádků na vstupu, ale při výpisu už používá normální '\n'
a tudíž na Unixu vypíše jediný znak.
Pokud tam mermomocí chcete nazpět CR-LF, buď to prožeňte unix2dos
em nebo to lze přímo v sedu (sekce TEXT CONVERSION AND SUBSTITUTION).
s/$/\r/
- coz je CR, pak po konecnem sestaveni s LF ziskate kyzene CR+LF
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.