문자로 시작하지 않는 grepFile의 모든 행을 표시합니다.

문자로 시작하지 않는 grepFile의 모든 행을 표시합니다.

문자로 시작하지 않는 grepFile의 모든 줄을 표시하는 일반적인 방법을 원합니다.

답변1

충분히 간단합니다.grep -v '^[[:alpha:]]' testfile

다음과 같은 테스트 파일을 사용합니다.

$ cat testfile 
sfdsaf
1sdflad
 asfd
,asdfasdf
safdaf

위 명령은 다음을 반환합니다.

$ grep -v '^[[:alpha:]]' testfile 
1sdflad
 asfd
,asdfasdf

왜?

  • ^줄의 시작 부분을 grep
  • [[:alpha:]]grep은 문자 1개를 찾습니다.
  • -v역방향 일치

대리자모든 일치 항목은 sed '/^[[:alpha:]]/d' testfilewhere sed명령 을 사용하여 제거됩니다 . 이는 다시 줄 시작 부분의 문자입니다.d^[[:alpha:]]

다른 옵션awk '/^[^a-zA-Z]/ { print $0 }' testfile

답변2

grep에서 정규식 옵션을 사용하고 문자를 찾는 결과를 첫 번째 문자로 바꾸십시오.

$ cat file.txt

asd
Ajnjn
bdfadsf
Bkkkknm
csdgadga
4gafga
dfsdf
esdfasdg
2fsefse
~asdasd
 dfdfsd
fartaherh
3adsfasdf

$ grep -ve '^[a-zA-Z]' file.txt

4gafga
2fsefse
~asdasd
 dfdfsd
3adsfasdf

답변3

다음 명령을 사용해 볼 수도 있습니다.

명령 1:

sed -n '/^[a-zA-Z]/!p'  testfile

명령 2:

awk '$0 !~ /^[a-zA-Z]/{print $0}' testfile

관련 정보