Ho un file come questo:
ID A56
DS /A56
DS AGE 56
E vorrei stampare l'intera riga solo se la seconda colonna inizia con una lettera maiuscola.
Uscita prevista:
ID A56
DS AGE 56
Quello che ho provato finora:awk '$2 ~ /[A-Z]/ {print $0}' file
Stampa tutto:le lettere maiuscole si trovano all'interno della seconda colonna.
awk '$2 /[A-Z]/' file
Ottiene un errore di sintassi.
Risposta accettata:
Potresti usare awk
come suggerito da @cuonglm, o
-
GNU grep
grep -P '^[^s]+s+[A-Z]' file
-
Perl
perl -lane 'print if $F[1]=~/^[A-Z]/' file
-
Versione GNU
sed -rn '/^[^s]+s+[A-Z]/p' file
-
shell (presuppone una versione recente di ksh93, zsh o bash)
while read -r a b; do [[ $b =~ ^[A-Z] ]] && printf "%s %sn" "$a" "$b"; done < file