Ich habe eine Datei wie diese:
ID A56
DS /A56
DS AGE 56
Und ich möchte nur dann die ganze Zeile drucken, wenn die zweite Spalte mit einem Großbuchstaben beginnt.
Erwartete Ausgabe:
ID A56
DS AGE 56
Was ich bisher versucht habe:awk '$2 ~ /[A-Z]/ {print $0}' file
Druckt alles:Großbuchstaben befinden sich in der zweiten Spalte.
awk '$2 /[A-Z]/' file
Erhält einen Syntaxfehler.
Akzeptierte Antwort:
Sie könnten awk
verwenden wie von @cuonglm vorgeschlagen, oder
-
GNU grep
grep -P '^[^s]+s+[A-Z]' file
-
Perl
perl -lane 'print if $F[1]=~/^[A-Z]/' file
-
GNU-sed
sed -rn '/^[^s]+s+[A-Z]/p' file
-
Shell (setzt eine neuere Version von ksh93, zsh oder bash voraus)
while read -r a b; do [[ $b =~ ^[A-Z] ]] && printf "%s %sn" "$a" "$b"; done < file