文字で始まらない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
wheresed
コマンドを使用して削除されます。これは、改行の先頭の文字です。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