タグ付けされた質問 「wildcards」

グロッビングとは、ワイルドカードを含む名前パターンでファイルを照合することを意味します。



11
すべてのファイル(非表示を含む)をあるディレクトリから別のディレクトリに移動するにはどうすればよいですか?
ディレクトリ内のすべてのファイル(隠しファイルを含む)を別のディレクトリに移動するにはどうすればよいですか? たとえば、ファイル「.hidden」と「notHidden」が含まれるフォルダー「Foo」がある場合、両方のファイルを「Bar」という名前のディレクトリに移動するにはどうすればよいですか?「.hidden」ファイルは「Foo」のままなので、以下は機能しません。 mv Foo/* Bar/ 自分で試してみてください。 mkdir Foo mkdir Bar touch Foo/.hidden touch Foo/notHidden mv Foo/* Bar/
133 shell  wildcards  dot-files  mv 

8
Rsyncフィルター:1つのパターンのみをコピーする
LaTeXからコンパイルされたすべてのPDFのみを格納するディレクトリを作成しようとしています。私はそれぞれのプロジェクトを別々のフォルダーに入れておくのが好きで、すべてがという大きなフォルダーに収められていますLaTeX。だから私は実行してみました: rsync -avn *.pdf ~/LaTeX/ ~/Output/ ですべてのpdfを見つけ~/LaTeX/て、出力フォルダーに転送します。これは機能しません。「*.pdf」に一致するものがないことがわかります。このフィルターを省略した場合、コマンドはLaTeXの下のすべてのプロジェクトフォルダー内のすべてのファイルを一覧表示します。したがって、*。pdfフィルターの問題です。~/ホームディレクトリへのフルパスに置き換えようとしましたが、効果はありませんでした。 私は、zshを使用しています。私はbashであっても同じことをやってみましたし、すべてのサブディレクトリ内のすべてのファイルを1つだけ表示されるフィルタ...ここで何が起こっているの? rsyncがPDFのみのフィルターを理解しないのはなぜですか? OK。更新:いいえ rsync -avn --include="*/" --include="*.pdf" LaTeX/ Output/ これにより、ファイルリスト全体が表示されます。すべてが最初のパターンと一致するためだと思います...
128 backup  rsync  wildcards 

8
現在のディレクトリにある通常のファイルのみをリストします(ディレクトリはリストしません)。
ls -ld */現在のディレクトリ内のすべてのディレクトリエントリを一覧表示するために使用できます。現在のディレクトリ内のすべての通常ファイルをリストするだけの簡単な方法はありますか?findを使用できることを知っています find . -maxdepth 1 -type f またはstat stat -c "%F %n" * | grep "regular file" | cut -d' ' -f 3- しかし、これらは私が過度にエレガントであるとは思いません。現在のディレクトリのサブディレクトリではなく、通常のファイル(デバイス、パイプなどは気にしない)のみを一覧表示する便利な短い方法はありますか?シンボリックリンクをリストすることもプラスになりますが、必須ではありません。
126 shell  files  ls  wildcards 

7
ls *、ls **お​​よびls ***の結果
コマンドlsを使用すると、すべてのディレクトリが一覧表示されます。しかし、ls *コマンドは何をしますか?私はそれを使用しましたが、ディレクトリをリストしています。星の前にある星はls、ディレクトリを一覧表示できる深さを意味していますか?

9
rm -rfすべてのファイルとすべての隠しファイル。&..エラー
rm -rf /some/path/* そのディレクトリ(およびサブディレクトリ)内の非表示でないファイルをすべて削除します。 rm -rf /some/path/.* そのディレクトリ内のすべての隠しファイルを削除しますが(サブディレクトリは削除しません)、次のエラー/警告も表示します。 rm: cannot remove directory: `/some/dir/.' rm: cannot remove directory: `/some/dir/..' 警告/エラーを受信せずにターゲットディレクトリに再帰的にすべての隠されたおよび非隠しファイルとフォルダを削除する適切な方法は何である.と..?
83 wildcards  rm 

3
再帰的なグロブ?
私はこのような何かを書きたいです: $ ls **.py すべての.pyファイル名を取得するために、ディレクトリ階層を再帰的にたどります。 検索する.pyファイルがある場合でも、シェル(bash)は次の出力を提供します。 ls: cannot access **.py: No such file or directory 私がしたいことをする方法はありますか? 編集:の特定のケースに興味がないことを指定したいのですlsが、問題はglob構文に関するものです。


2
コマンドの出力をシェル変数に割り当てるにはどうすればよいですか?
式の結果を変数に割り当て、それを文字列と連結してからエコーします。ここに私が持っているものがあります: #!/bin/bash cd ~/Desktop; thefile= ls -t -U | grep -m 1 "Screen Shot"; echo "Most recent screenshot is: "$thefile; しかし、その出力: Screen Shot 2011-07-03 at 1.55.43 PM.png Most recent screenshot is: したがって、それはに割り当てられておらず$thefile、実行時に印刷されているように見えます。


3
なぜ私のfindは再帰的ではないのですか?
次のコマンドを実行していますが、再帰的に実行されません。 find . -name *.java 私は現在のディレクトリにさらにJavaファイルがあることを知っていますがfind、現在のディレクトリでのみ実行しています。OS X 10.9を使用しています。
65 shell  find  wildcards 

1
nullglobがデフォルトではないのはなぜですか?
ほとんどのシェルでnullglobはデフォルトではありません。つまり、たとえば、このコマンドを実行すると ls * 空のディレクトリでは、*globを展開して*、引数の空のリストではなく、リテラルにします。*空のディレクトリで空の引数リストを返すように、その動作を変更する方法があります。これはより直感的に見えるでしょう。 だから、nullglobデフォルトで無効になっている理由はありますか?もしそうなら、その理由は何ですか?
61 shell  wildcards 

5
ワイルドカード文字*がコマンドzipとrmでそれほど異なるのはなぜですか?
スクリプトを作成して、いくつかのファイル操作を実行しました。*タイプのすべてのファイルに関数を適用するためにワイルドカード演算子を使用していますが、取得できないことが1つあります。unzipこのようなフォルダ内のすべてのファイルができます unzip "*".zip ただし、すべてのzipファイルを後で削除するには、する必要があります rm *.zip つまり、引用符は不要です。一方、unzipは、*を指定しただけでは機能しません(「ファイルが一致しませんでした」という警告が表示されます)。 なぜこれが違うのですか?私には、これはまったく同じ操作のように思えます。または、ワイルドカードを間違って使用していますか? Unixでのワイルドカードの紹介は実際にはこれに該当せずrm、zipドキュメントやドキュメントには何も見つかりませんでした。 Mac(Yosemite)でターミナルを使用しています。
58 shell  wildcards  rm  zip 

7
大文字と小文字を区別しないパターンをlsと一致させる方法は?
大文字と小文字を区別せずに、特定のパターンに一致するすべてのファイルを一覧表示したいと思います。 たとえば、次のコマンドを実行します。 ls *abc* ファイル名の一部に「abc」が含まれるすべてのファイルを表示したいのですが、大文字小文字を無視して、 -rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt -rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt 注意 マニュアルページでケースを検索しましたが、何も見つかりませんでした。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.