Portál AbcLinuxu, 20. prosince 2025 11:00
Ahoj.
Je možné nějak přesměrovat výstup příkazu volaného v -exec příkazu find? Potřebuji něco jako
find . -name 'nejaka maska' -exec sed -e 'neco' {} > vystup.sedu \;
Pokud vím, tak sedu nemůžu vnutit jméno výstupního souboru.
Díky.
find . -name 'nejaka maska' -exec sed -e 'neco' {} \; > vystup.sedu
Ale pokud byste to opravdu chtěl udělat, jak píšete (přesměrování uvnitř findu), spusťte v -exec nový shell. Něco nazpůsob
find . -name 'nejaka maska' -exec /bin/bash -c sed -e 'neco' {} > vystup.sedu \;
Díky za rady. Asi jsem to špatně popsal. Potřebuji přesměrovat každý sed zvlášť. Něco jako
find . -name 'nejaka maska' -exec sed -e 'neco' {} > {}.out \;
while read cyklus... - něco jako
fine . ... | while read fname; do sed -e 'neco' "$fname" >"$fname.out"; done
Toto bude asi pro mě nejschůdnější. Díky moc.
i docela nerozumněAle spolehlivě to rozhodí znak nového řádku v názvu (a bohužel jsem zažil i takhle pojmenované soubory)...
--exec, přepište do nějakého skriptu a z findu spouštějte ten.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.