westmen3 pisze: [...] Zastanawiam sie jeszcze nad jedna rzecza jak poleceniem cut mozna wyciac fragment tekstu o "wspolrzednych" wiersz 2, kolumna 3-8. - byc moze to banalne, ale ja jakos nie potrafie tego zrobic :/ [...]
jeśli chodzi o cut to możliwe że nie zauważyłeś
że domyślnym delimiterem jest tabulacja a to co
chcesz ciąć ma spacje, ustawia się to opcją d.
Btw, wiem jak wyciąć cutem kolumny, ale wiersze to już nie...
Dam parę przykładów, żeby było widać jak co działa
to zrobię przykładową tabelkę którą będę ciął.
Dla wygody zapiszę ją do zmiennej 'tab'.
Wiersze oznaczę dużymi literami, kolumny zaś cyframi.
Tzn. tabelka 5 na 16 wygląda tak:
Kod: Zaznacz cały
A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16
B01 B02 B03 B04 B05 B06 B07 B08 B09 B10 B11 B12 B13 B14 B15 B16
C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16
D01 D02 D03 D04 D05 D06 D07 D08 D09 D10 D11 D12 D13 D14 D15 D16
E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15 E16
robię ją tak:
Kod: Zaznacz cały
export tab=$(eval seq\ -s\\\ \ -f{A..E}%02g\ 16\;)
przykłady:
Kod: Zaznacz cały
echo "$tab" | cut -d' ' -f3-8
A03 A04 A05 A06 A07 A08
B03 B04 B05 B06 B07 B08
C03 C04 C05 C06 C07 C08
D03 D04 D05 D06 D07 D08
E03 E04 E05 E06 E07 E08
Kod: Zaznacz cały
echo "$tab" | awk NR==2 | cut -d' ' -f3-8
B03 B04 B05 B06 B07 B08
Kod: Zaznacz cały
echo "$tab" | awk NR==2 | cut -d' ' -f3-8 --complement
B01 B02 B09 B10 B11 B12 B13 B14 B15 B16
Kod: Zaznacz cały
echo "$tab" | awk 'NR==2 { while(++i<=NF) printf"%*s",length($i)+1,(i>3&&i<9)?$i" ":""; printf "\n" } NR!=2'
A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16
B04 B05 B06 B07 B08
C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16
D01 D02 D03 D04 D05 D06 D07 D08 D09 D10 D11 D12 D13 D14 D15 D16
E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15 E16
Kod: Zaznacz cały
echo "$tab" | awk 'NR==2 { while(++i<=NF) printf"%*s",length($i)+1,(i<4||i>8)?$i" ":""; printf "\n" } NR!=2'
A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 A11 A12 A13 A14 A15 A16
B01 B02 B03 B09 B10 B11 B12 B13 B14 B15 B16
C01 C02 C03 C04 C05 C06 C07 C08 C09 C10 C11 C12 C13 C14 C15 C16
D01 D02 D03 D04 D05 D06 D07 D08 D09 D10 D11 D12 D13 D14 D15 D16
E01 E02 E03 E04 E05 E06 E07 E08 E09 E10 E11 E12 E13 E14 E15 E16