特定の式で終わる行を見つける方法

特定の式で終わる行を見つける方法

4つの文を含むテキストファイルがあり、 "me"で終わる文をgrepしたいのですが、grep "me$"を実行すると機能しません。

私は何を逃したことがありませんか?

(結果が1、2、4行になりたいです。)

編集:画像をテキストに置き換えます。

$ cat sm.txt
somebody once told me

somebodyoncetoldme

the world was

gonna roll me
$ grep "me$" sm.txt
$

ベストアンサー1

コメントからfileテキストファイルをCRLF行末のあるASCIIテキストファイルとして識別すると述べました。これは、Windowsシステムでエディタを使用して作成されたDOSテキストファイルであることを別の方法で表現したものです。

Unix テキストファイルと比較して、DOS テキストファイルには、改行文字の前の各行末に追加のキャリッジリターン文字があります。そのため、正規表現が一致せず、実際に終わる行がなく、でme終わります。me\rこれは\rキャリッジリターンを作成する一般的な方法です。

回避策は、dos2unixUnixシステムで使用する前に、変換ツールを使用してテキストファイルをUnixテキストファイルに変換することです。

おすすめ記事