Portál AbcLinuxu, 10. května 2025 07:12
#!/bin/sh case $1 in -a) echo "a" shift ;; -r|-d) #kontrola ID ID=$2 echo $ID shift 2 ;; esac if [ $# -le 0 ]; then echo "Zadny soubor."; fi for file in $@; do echo $file doneTzn nejdrive udelam kontrolu na nepovine paramentry a jejich hodnoty, nasledne parametry odstranim a zbytek jsou soubory.
abc.o F read ... T write ... def.o ... F write ... egh.o ... T read ...A potřebuji je převést a vypsat na stdout ve tvaru:
abc.o -> egh.o (read) def.o -> abc.o (write) ...Potřeboval bych jenom popostrčit. Díky
F read abc.o T write abc.o ...To jde snadno v awk (nebo sedu, nebo klidně i čtením po řádcích v shellu). 2. Vyrobíš seznam symbolů, které se vyskytují s F: grep, cut, sort, uniq. 3. Pro každý symbol grepneš řádek T symbol, vezmeš z něj jméno objektového souboru. Píšu řádek, protože pokud není právě jeden (grep -c, wc, ...), je to nejspíš chyba, takže ji nahlásíš a skončíš. 4. Pro tento symbol dále vezmeš všechny řádky F symbol, z nich jména objektových souborů a vypíšeš v požadovaném tvaru coby závislost na tom prvním (to vše lze klidně sedem).
egrep "${pole[index]}" soubor
[id]:
a končí prázdným řádkem. Zkouším sedem odstranit část před a po, ale nedaří se. Děkuji za pomoc.
grep "\[id\]:" soubor | sed 's/^\[id\]:\(.*\)/\1/'
[id]:
, potřebuji ještě dalších x řádků až po prázdný řádek.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.