Portál AbcLinuxu, 11. května 2025 05:07
Zdravím. Potřeboval bych vypsat obsah adresáře se soubory takovým způsobem, aby v jednom sloupci byl název souboru, ve druhém jeho velikost a ve třetím datum a čas poslední změny. Na každém řádku tyto vlastnosti jednoho souboru. Měla by z toho vzniknout tabulka .xls pro další zpracování.
Zkoušel jsem to pomocí příkazu ls s různými parametry, ale nikdy se mi nedaří aby každá vlastnost (název, velikost, čas poslední změny) bylo v jednom samostatném sloupci. Hledal jsem v man ls, zkoušel vše možné, ale bohužel stále nic. Tak se omlouvám a byl bych rád, kdyby mi někdo poradil. Díky.ls -l --time-style="+%F %R"|awk '{print $8, $5, $6, $7}'
ls -l --time-style="+%F %R"|awk '{for(i=8;i<=NF;i++){printf "%s ", $i}; print $5, $6, $7}'
perl -MText::CSV -MDateTime -E 'BEGIN{our $csv=Text::CSV->new({binary=>1,eol=> "$/"}); };while (glob("*")) { $csv->print(STDOUT, [@{[$_,stat($_)]}[0,8],DateTime->from_epoch(epoch=> ${[$_,stat($_)]}[11])])}'
Pořád se mi dělí ty názvy na jednotlivá slova, musí v tom být nějaká finta aby celý název byl v jednom sloupci.
find -printf "%-40f %9s %40Cc\n"
Jaro 03+.JPG 1534003 Ne 1. březen 2015, 12
To výše je jeden sloupec v tabulce xls
Když by to nešlo tak já jsem spokojený i s tímto, už se to dá pomocí fixní šířky rozdělit na jednotlivé sloupce a pak vložit do tabulky.
find -printf "%f;%s;%Cc\n"a nacucnout to do Excelu jako CSV.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.