문자로 시작하지 않는 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' testfile
where 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