Przykłady użycia polecenia “cut”; wycinanie kolumn, zakresów znaków, pipelining and the like.
Zakładając, że mamy przygotowany plik input z następującą zawartością (tutaj notowania KGHM):
<TICKER>,<DTYYYYMMDD>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOLUME>
KGHM,1997-07-10,23.50,23.50,23.50,23.50,2462894
KGHM,1997-07-11,24.00,24.00,24.00,24.00,1557833
KGHM,1997-07-14,21.60,21.60,21.60,21.60,398333
, możemy zacząć zabawę z cut-em. Do dzieła!
Operacje na kolumnach
- wyciągnąć tylko drugą kolumnę
# -d określa delimiter, ',' to nasz delimiter, -f2 określa drugą kolumnę cut -d ',' -f2 input <DTYYYYMMDD> 1997-07-10 1997-07-11 1997-07-14
- wyciągnąć pierwszą i drugą kolumnę
# -f1,2 określa pierwszą i drugą kolumnę cut -d ',' -f1,2 input <TICKER>,<DTYYYYMMDD> KGHM,1997-07-10 KGHM,1997-07-11 KGHM,1997-07-14
- wyciągnąć kolumny od drugiej do szóstej
# -f2-6 określa od drugiej do szóstej kolumny cut -d ',' -f2-6 input <DTYYYYMMDD>,<OPEN>,<HIGH>,<LOW>,<CLOSE> 1997-07-10,23.50,23.50,23.50,23.50 1997-07-11,24.00,24.00,24.00,24.00 1997-07-14,21.60,21.60,21.60,21.60
Operacje na znakach
- możemy wyciągnąć np. pierwsze 20 znaków
# -c-20 określa pierwsze 20 znaków cut -c-20 input <TICKER>,<DTYYYYMMDD KGHM,1997-07-10,23.5 KGHM,1997-07-11,24.0 KGHM,1997-07-14,21.6
- albo znaki od 20 do końca
# -c20- określa znaki od 20 do końca cut -c20- input D>,<OPEN>,<HIGH>,<LOW>,<CLOSE>,<VOLUME> 50,23.50,23.50,23.50,2462894 00,24.00,24.00,24.00,1557833 60,21.60,21.60,21.60,398333
Pipelining
Oczywiście polecenie cut działa też z pipem (|), czyli możemy zapisać np.
echo "jeden,dwa,trzy,cztery" | cut -d ',' -f2,3 dwa,trzy