Grep正規表現は機能しなくなりました。

Grep正規表現は機能しなくなりました。

この質問がトピックから少し外れた場合は申し訳ありません。しかし、私はちょうど2日間Linuxを学び始め、この問題を解決する知識はまったくありません。grepこのフルーツリストのコマンドを使用しようとしています。こここの表現を実験し続けるまで、すべてが順調に進みました/

下線付きの一種のキーの組み合わせを押しましたが、今ではほとんどの正規表現が混乱しているようです(いずれかの方法で重要な場合は、ファイル名に下線が引かれています)。たとえば、次のように入力した場合:

cat fruits | grep ^ma

何の結果も出ず、mandarine現れmangoません。

私が入力したとき:

cat fruits | grep dam*

または

cat fruits | grep dam

Damson現れませんでした。さらに、端末の右側にエラークロスがあります。

ここに画像の説明を入力してください。

やり直す方法を簡単に説明できる人はいますか?ありがとうございます!

答え1

正規表現は大文字と小文字を区別します。ファイルにMandarine大文字が含まれていますが、Mで始まる行を検索していますma。この試み:

grep '^Ma' fruits

また、正規表現(RE)を一重引用符で囲みました。これは、シェルがそれを処理する必要がある単語でテストするのを防ぎます(たとえば、現在のディレクトリのファイルと一致させる方法など)。

大文字と小文字を区別せずに比較するには、を使用しますgrep -i

grep -i 'ma' fruits

答え2

予期しないキーストロークの組み合わせにより、bashまたはdashシェルが破損している可能性があります。 Bashとそのシェル(ダッシュなど)は、ユーザーが入力した内容をカーネルが理解できるものに変換する高度に設定可能なプログラムです。

ほとんどの設定はを通じて行われますが、/home/user/.bashrcキーの組み合わせのみが必要な動的修正がたくさんあります。通常、端末ウィンドウを閉じると、これらの修正がリセットされます。

source .bashrc特定の条件下ではリセットにも使用できます。バラよりhttps://linuxhandbook.com/source-command/

関連情報