Portál AbcLinuxu, 10. května 2025 01:56
sed '/XY/d' input > output. Vysledok je presne taky aky chcem, ak dam ale
sed '/XY/d' input > inputtak novy subor zostane prazdny.
Řešení dotazu:
se výstupní soubor zřejmě otevře pro zápis (přepis) dřív než pro čtení
Ono to dost dobře ani nemůže být jinak, protože pro zápis ho musí otevřít už shell ještě před spuštěním příkazu, zatímco pro čtení až sed
na základě svého parametru. Ale ani kdyby to bylo naopak, např.
sed ... <file >file
tak by to fungovat nemohlo, protože přesměrování soubor nenahrazuje (ve smyslu smazání adresářové položky a vytvoření nového) ale přepisuje (ve smyslu otevření existujícího souboru a přepsání jeho obsahu).
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.