Portál AbcLinuxu, 14. května 2025 02:31
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.seduAle pokud byste to opravdu chtěl udělat, jak píšete (přesměrování uvnitř
find
u), 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.