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

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


4
スペースとワイルドカードを含むパスを含む文字列でのbashスクリプトエラー
Bashスクリプトの基本を理解するのに苦労しています。ここに私が持っているものがあります: #!/bin/bash FILES="/home/john/my directory/*.txt" for f in "${FILES}" do echo "${f}" done 私がやりたいのは、すべての.txtファイルをforループにリストすることです。しかし、中のスペースmy directoryとアスタリスクは*.txtうまく再生されていません。二重引用符の有無にかかわらず、変数名に中括弧の有無にかかわらず使用してみましたが、すべての.txtファイルを印刷できません。 これは非常に基本的なことですが、疲れてまっすぐに考えることができないため、私はまだ苦労しています。 何が間違っていますか? ファイルにスペースやアスタリスクがなければ、上記のスクリプトを正常に適用することができました。しかし、スペースとアスタリスクの両方があると、すべてが台無しになります。


1
引用符で囲まれていないワイルドカードがscpでリモートで機能するのはなぜですか?
私はこれをBashで入力しています: scp user@remote:~/dir/*.xml . そして、それは機能し、リモートサーバー上のワイルドカードを作るすべてのファイルを取得します。しかし、なぜこれが機能するのでしょうか?Bashは、引数がのようなツールで見えるようになる前に、引数のワイルドカード表現を展開すると考えましたscp。
24 bash  shell  wildcards 

4
一致しないグロブパターンから空の文字列を静かに取得する方法
3つのファイルがあるフォルダーがあるとします。 foo1 foo2 bar 1. 実行した場合 list_of_files=$(print foo*) echo $list_of_files 私は得る: foo1 foo2 2.実行した場合 list_of_files=$(print bar*) echo $list_of_files 私は得る: bar 3.ただし、実行した場合 list_of_files=$(print other*) echo $list_of_files 私は得る:(zsh: no matches found: other*変数$list_of_filesは空ですが) それがグロブ展開と一致しない場合に文句を言わないようにzshに依頼する方法はありますか? 私の目標は、上記のメカニズムを使用して、指定されたglobパターンに一致するファイルのリストを静かに収集することです。
24 zsh  wildcards 

2
zshの辞書式順序のファイルの複数桁の範囲
グロビングによって、zshの2つの整数(2〜57など)でファイルの範囲を(辞書式順序で)指定したいと思います。 たとえば、「グロビングパターンに一致するパスの下で辞書式順序でファイル2〜57を選択します」。 角かっこを使用するとそれができると思った for x in /foo/bar/*[2-57]; do print $x; done しかし、zshのはどうやら私は、ファイルを求めています考えている2に5(またはそのような何か)の代わりに、ファイル2に57。なぜ考えますか?どうすればこれを達成できますか?
24 zsh  wildcards 

2
疑問符で始まるすべてのファイルを削除します
約4kのファイルがあるフォルダーがあります。これらのファイルの一部は、aa ?または!文字で始まります。それらを削除する必要がありますが、削除する式が見つかりません。 rm -f ./?* すべてを削除するだけです。おそらくgreplsで使用し、パイプを使用してxargsファイルを別のフォルダーに移動できますが、これを行う適切な方法があることを望んでいました。?と!ファイルの両方でヘルプが必要です。

1
正規表現(Big | Small)(State | City)-[0-9] * \。csvに相当する.gitignoreパターンは何ですか
私は私の.gitignore似たようなもので立ち往生している正規表現を持っています: (Big|Small)(State|City)-[0-9]*\.csv 動作しなかったので、RegexLab.NETに対してテストしました。 それからgitignoreのマニュアルページを見つけ、gitignoreは正規表現ではなくfnmatch(3)を使用していることを知りました。 ただし、fnmatchにはキャプチャグループに相当するものがないようです。これは実行可能ですか、またはこれを3行に分割する必要がありますか?

2
複数の拡張子を持つファイルをコピーする
複数の拡張子を持つファイルを単一の宛先ディレクトリにコピーしたいと思います。 たとえば、次のコマンドを使用して、作業ディレクトリ内のすべての.txtファイルをというディレクトリにコピーできますdestination。 cp -v *.txt destination/ そして、以下を使用して、作業ディレクトリ内のすべての.pngディレクトリをにコピーできますdestination。 cp -v *.png destination/ ただし、これらを個別のコマンドとして入力するのは時間がかかります(コマンド履歴を使用する場合でも)。だから、私が言うことができることをどのような方法があるcpパターンのいずれかでファイルをコピーする*.txt か、パターン*.pngにはdestination? 理想的には、3つ以上のパターンを指定できるようにしたいと考えています。たとえば、cpすべて*.txt または *.png または *.jpgファイルをにコピーするように指示するdestinationなどです。 これはすべて、シェルスクリプトを使用して可能になると確信しています(bashたとえば、を使用しています)が、コンソールからのみ、より簡単に実行する方法はありますか?何とかしてブレース拡張を使用してそれを行うことはできますか? 特定の特定のパターンに一致するファイルを除く、作業ディレクトリ内のすべてのファイルをコピーできることは知っていますが、作業ディレクトリには、コピーしたくないファイル拡張子がはるかに多く含まれているため、苦労します。 これについて何か考えはありますか?
22 bash  shell  wildcards  cp 

3
シェルコマンドで..?*はどういう意味ですか?
次のコマンドは、意志tar、すべての「ドット」ファイルとフォルダ: tar -zcvf dotfiles.tar.gz .??* 私は正規表現に精通していますが、解釈方法がわかりません.??*。私は実行ls .??*しtree .??*、リストされたファイルを見ました。この正規表現に.、たとえばで始まるフォルダー内のすべてのファイルが含まれるのはなぜですか?
22 wildcards  tar 

1
wgetを使用してURLパスから特定のファイルをダウンロードする方法
特定のURLパスで見つかったファイルを手動でダウンロードする必要がない場合、どのようなオプションがありますか?ワイルドカードを使用すると失敗します。 $ wget 'http://www.shinken-monitoring.org/pub/debian/*deb' Warning: wildcards not supported in HTTP. .... もちろん、これはファイル名が事前にわからないことを前提としています。
22 wildcards  wget 

1
このファイルが「検索」に表示されないのはなぜですか?
findwith を使用するとgrep、パターンに一致するファイルを見つけることができます。 # find | grep error ./solr-modifiedSolr4/SolrPhpClient/phpdocs/errors.html ./error_log ./includes/classes/error_log ただし、find最初のファイルを単独で使用すると見つかりません。 # find . -name error* ./error_log ./includes/classes/error_log なぜしないfind見つけerrors.htmlて使用されていないときにファイルをgrep?findこのファイルの表示にも使用されますか?

5
ディレクトリ内の隠しファイルと*を一致させる方法
指定されたディレクトリ内の隠しファイルを一致させる方法 例えば 以下のコマンドを指定しても、隠しファイルの結果は表示されません。 du -b maybehere*/* 使用する代わりに単一のコマンドを使用してこれを簡単に達成する方法 du -b maybehere*/.* maybehere*/* 多分ここに2回入力する必要があるので。

6
最初のxファイルを移動する方法
数千の無秩序なファイルがあるこの巨大なフォルダーがあります。mvコマンドを使用して最初の5000をサブフォルダーに移動することは可能ですか?今のところ私はファイルを mv *some_pattern* ./subfolder1/ 今のところ、画像を非常にランダムに移動していますが、各サブフォルダーに正確に5000個のファイルがない場合、それはそれほど重要ではありません。それを行うためのより良い方法はありますか?


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