GNU/Linux >> Linux の 問題 >  >> Linux

ワイルドカード文字 `* ` は一部の文字列と一致しませんか?

拡張機能として Shaido's answer に -a の理由を説明したいと思います オプションはここでは機能しません:

ls コマンドはしません ワイルドカードを処理します。コマンド ライン インタープリターは次の手順を実行します。

コマンドラインに「mycommand *.c」と入力すると " コマンド ライン インタープリターは、最初にワイルドカード文字列 "*.c を置き換えます " 一致するファイルのリストを参照し、結果のコマンド ラインを実行します:

mycommand a.c file.c test.c

コマンド ライン インタープリターはすべてのコマンドに対して同じように動作するため、-a を認識できません。 ls の場合、「隠しファイルを含む」ことを意味します コマンド (while -a 他のコマンドではまったく異なる意味を持ちます)...


ドットで始まるファイルは、デフォルトでファイル リストに表示されません。この種のファイルを一致させる最も簡単な方法は、式の先頭にドットを入れることです。ただし、これは . で始まるファイルのみに一致します .

ls  -al  .*.swo

別の方法は、 dotglob を設定することです コマンドを実行する前に、. で始まるファイル 含まれます。

shopt -s dotglob

~/.bashrc に追加します デフォルトで設定します。

設定 dotglob に注意してください 意図しない結果につながる可能性があります 両方の . であるため、bash シェルを使用する場合 (現在のディレクトリ) と .. (親ディレクトリ) は * を使用すると表示されます . dotglob で 設定、しない rm -R * を使用してみてください .


Linux
  1. テキストをファイルに書き込むためにLinuxのcatコマンドを使用できますか?

  2. 出力を文字列に変換する

  3. 1 つのコマンドで scp 経由で複数のファイルをコピーするにはどうすればよいですか?

  1. bashコマンド文字列の逐語的な文字を確認するにはどうすればよいですか?

  2. フォント ファイルを分析できる UNIX コマンド ライン ツールはありますか?

  3. バッチ処理のコマンドに引数として渡すことができるファイルの数をどのように計算しますか?

  1. Linuxでファイルの名前を変更する方法

  2. Linuxでファイルとディレクトリをコピーする

  3. 特定の文字列を含むファイルの数は?