È possibile utilizzare il taglio e avere delimitatore i caratteri non stampabili? Per esempio mi piacerebbe avere i caratteri "^ A" (anche rappresentati come \ 001) essere il delimitatore.Utilizzo del taglio con delimitatori non stampabili
11
A
risposta
20
Se stai usando Bash,
cut -d $'\001' ...
opere (vedi Bash Reference Manual # 3.1.2.4 ANSI-C Quoting).
Altri (altri portatili) opzioni,
cut -d `echo -e '\001'` ...
FS=`echo -e '\001'`
cut -d $FS ...
o inserendo il carattere di controllo direttamente utilizzando^V come detto da Alnitak e etlerant - sulla linea di comando, mentre in editor come vi, questo significa "Non trattare la prossima cosa che scrivo appositamente".
4
Sì, è perfettamente possibile.
Se digitando un guscio, premere ^V
e poi ^A
inserire la ^A
testualmente nella riga corrente anziché averlo trattato come il normale 'andare all'inizio della riga' di comando:
% cat -v foo
abc^Adef^Aghi
% cut -d^A -f2 foo
def
1
CTRL- V CTRL-A?
0
Se per esempio si delimitatore non stampabile è tab
equivalente di \t
e si desidera trovare la seconda alla voce fine di ogni riga separata da scheda è possibile utilizzare questo:
cut -d $'\t' -f2- tablimited.csv