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

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

3
7zを使用して、ディレクトリ内のすべてのファイルとディレクトリ(非表示のものを含む)をアーカイブする方法
私のアーカイブのニーズの詳細のため、私は固体のtar.gzアーカイブに満足できず、代わりに7zを使用しています。 これを行うには、次のコマンドを使用します。 7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=off ~/my/folder.7z ~/my/folder/* 内部のすべてのアーカイブをファイル~/my/folder/として作成し~/my/folder.7zます。 しかし~/my/folder/.hiddenFolder、そのときはアーカイブに入りません。これを修正するには?*すべてのファイルとフォルダーを返す必要はありませんか?
10 bash  wildcards  7z 

3
「。*?」を使用する方法と理由
SuperUserでこの質問に回答しました。これは、出力のgrep中に使用される正規表現の種類に関連したものでした。 私が出した答えはこれでした: tail -f log | grep "some_string.*some_string" そして、私の答えへの3つのコメントで@ボブはこれを書いた: .*貪欲であり、あなたが望むより多くをキャプチャするかもしれません。.*?通常はより良いです。 そしてこれ、 これ?はの修飾子で*あり、貪欲なデフォルトの代わりに遅延させます。PCREを想定しています。 私はグーグルで検索しましPCREたが、私の回答でこれの意味を理解できませんでしたか? そして最後にこれ、 また、これは正規表現(デフォルトではPOSIX正規表現を実行するgrep)であり、シェルグロブではないことも指摘しておく必要があります。 正規表現とは何か、そしてgrepコマンドでの非常に基本的な使い方だけを知っています。だから、私はそれらの3つのコメントのどれも得ることができず、私はこれらの質問を念頭に置いています: 用法の違いは何ですか.*?対は.*? どちらが良いですか、どのような状況下ですか?例を挙げてください。 また、コメントを理解しておくと役に立ちます。 更新:質問への回答として、正規表現はシェルグロブとどのように異なりますか? @Kusalanandaがコメントでこのリンクを提供しました。 注:必要に応じて、コンテキストを参照するために回答する前に、この質問に対する私の回答を読んでください。


2
テキストファイルから不明なUnicode文字を削除-sed、その他のbash / shellメソッド
同じ名前のいくつかのファイルで、不明な文字のすべての出現を検索して置き換える必要があります。 そのようなファイルをviで開いて、その文字の<91>コードを読みました。それらをnanoで開くと、私はダイヤモンド(黒いランブル)の「疑問符」を読みました。 このような不明な文字を引用符( ')に置き換えたいと思います。私は運が悪いのにいろいろな方法を試しています。 私は試した: find ./ -name filename.txt -exec perl -i~ -pe "s/\x91/'/" {} \; find ./ -name filename.txt -exec sed -i "s/\x91/'/g" {} \; 編集 キャラクターの詳細: Hexadecimal: 91 68 74 74 Decimal: 145 104 116 116 Octal: 221 150 164 164 Binary: 10010001 01101000 01110100 01110100 LC_ALL=C sed …

6
猫のワイルドカード印刷で改行を強制する
複数の小さなファイル(すべてのファイルが1文)を標準出力に出力するために、bashでワイルドカードを使用した猫を使用したいと思います。ただし、個別のファイルの内容は改行で区切られていません。読みやすくするために改行します。 このコマンドにある種のファイル区切り文字を追加するにはどうすればよいですか?

3
複数のファイルに対するImageMagick
convert以下のコマンドを使用して、ImageMagickで単一のファイルをBMPからPNGに変換しました convert CD\ Front.bmp CD\ Front.png 私はそのようなファイルをたくさん持っているので、試してみました: for f in */*.bmp ; do convert $f ${f%bmp}png; done しかし、このコマンドは永久にハングします。 何が悪いのですか?

2
シェル(bashなど)はワイルドカードパターンをどのように展開しますか?
ディレクトリに、文字「a」で始まる100個のファイルがあると仮定します。 grep <some string> a*端末から行う場合、シェルはこれをどのように処理しますか? それは正規表現を拡張し、aで始まるすべてのファイルのリストを取得し、それらのファイルのそれぞれで順次grepを取得しますか?それとも他の方法がありますか? 上記のファイル名の配列が「a」で始まると仮定します。forループを記述し、シェルスクリプトまたはacプログラムで自分で反復を実行すると、時間がかかりますか?
9 bash  shell  wildcards 

3
「mkdir foo; svn mv * foo」
私はよくこのイディオムのいくつかの変形をしたいです: $ mkdir 2010 $ svn mv * 2010 もちろん、グロブも2010と一致するため、エラーが発生します。 svn: Cannot copy path '2010' into its own child '2010/2010' "svn mv * 2010"正しいことをする別のワンライナーに置き換える方法はありますか?


2
lsは「一致なし」を無視します
と呼ばれるフォルダ内のfoldername、拡張子がtest、atestまたはのすべてのファイルを一覧表示しますbtest。 私の当面の考えは走ることでした ls ./foldername/*.{a,b,}test 拡張機能atestに何もない場合を除き、これは正常に機能しますzsh: no matches found: ./foldername/*.atest。その場合、エラーが発生します。 このエラーを無視して、存在するファイルを印刷する方法はありますか? これはZSHとBASHの両方で機能するために必要です。

1
Bash Globbingは期待どおりではありません
これは宿題です: 小文字で始まり、大文字で終わらない2文字以上のすべてのファイル名を照合します。 私のソリューションが機能しない理由がわかりません。 だから私は以下を実行しました: touch aa touch ha touch ah touch hh touch a123e touch hX touch Ax ls [a-z]*[!A-Z] 出力: aa ha 私の質問:「ah」、「hh」、または「a123e」と一致しなかったのはなぜですか?

2
ワイルドカードを使用したこのsudo mv操作が機能しないのはなぜですか?
これには簡単な答えがあるに違いないと思いますが、なぜこれが機能しないのかわかりません! 私のホームディレクトリには、installed-pluginsというフォルダーがあります(数レベル下にあります)。そのフォルダーのすべてのコンテンツ(約15の.jarファイル)を、別のフォルダー(インストール済みプラグインとも呼ばれます)に転送したいと思います。 これは私が試していることです: $ sudo mv /home/jira-plugins/installed-plugins/* /var/atlassian/application-data/jira/plugins/installed-plugins/ mv: cannot stat `/home/jira-plugins/installed-plugins/*': No such file or directory 私のエラーは何ですか? フォルダーは空ではありません。ここでls出力は: $ sudo ls /home/jira-plugins/installed-plugins analytics-client-3.15.jar plugin.2223138796603023855.jira-importers-plugin-6.0.30.jar atlassian-chaperone-2.0.3.jar plugin.330169947367430109.jira-fisheye-plugin-6.2.8.jar atlassian-client-resource-1.0.jar plugin.4363048306537053933.jeditor-2.1.7.2.jar atlassian-pocketknife-api-commons-plugin-0.19.jar plugin.4438307615842123002.jira-ical-feed-1.0.4.jar atlassian-pretty-urls-plugin-1.8.jar plugin.461510159947098121.jira-issue-collector-plugin-1.2.5.jar base-hipchat-integration-plugin-7.8.24.jar plugin.5630909028354276764.atlassian-universal-plugin-manager-plugin-2.7.8.jar base-hipchat-integration-plugin-api-7.8.24.jar plugin.6920509095052318016.atlassian-bonfire-plugin-2.9.13.jar hipchat-core-plugin-0.8.3.jar plugin.6952408596192442765.atlassian-bonfire-plugin-2.8.2.jar hipchat-for-jira-plugin-1.2.11.jar plugin.7079751365359230322.jira-importers-bitbucket-plugin-1.0.8.jar jira-email-processor-plugin-1.0.29.jar plugin.7451827330686083284.atlassian-universal-plugin-manager-plugin-2.21.4.jar jira-fisheye-plugin-7.1.1.jar plugin.7498175247667964103.jira-importers-redmine-plugin-2.0.7.jar jira-ical-feed-1.1.jar plugin.7803627457720701011.jira-importers-plugin-3.5.3.jar jira-issue-nav-components-6.2.23.jar plugin.7977988994984147602.jira-bamboo-plugin-5.1.6.jar jira-servicedesk-2.3.6.jar …
8 shell  sudo  wildcards  mv 

1
ワイルドカードで割り当てられた変数のパラメーター展開
現在のフォルダー(MA502)に2つのファイルがあり、その名前は- MA502_TAAGGCGA-TCGCAGG_L001_R1_001.at.fastq MA502_TAAGGCGA-TCGCAGG_L001_R2_001.at.fastq MA503、MA504などのフォルダがたくさんあるので、それらを繰り返し処理します。 ワイルドカードを使用して変数名を割り当てます- Forward=*R1*.at.fastq Reverse=*R2*.at.fastq これらのファイルをスクリプトで処理し、出力をに置き換え.atて.atqt、最終的な名前が次のようになるようにします- MA502_TAAGGCGA-TCGCAGG_L001_R1_001.atqt.fastq MA502_TAAGGCGA-TCGCAGG_L001_R2_001.atqt.fastq 私は試した awk 'script' $Forward > ${Forward/.at/.atqt} 私の最終的なファイル名は次のようになります- *R1*.atqt.fastq だった私の期待の代わりに MA502_TAAGGCGA-TCGCAGG_L001_R1_001.atqt.fastq UNIXでは必要に応じてすべてを学んだので、変数名がどのように処理されるのかわかりません。どんな助けでもありがたいです!


2
各ファイルサイズを表示せずに拡張子をフィルタリングしてフォルダー内の合計ファイルサイズを表示する方法
du -hc *zipフォルダー内のzipファイルの合計サイズが表示されますが、フォルダーのすべてのファイルサイズも表示されます。合計サイズだけが必要です。 単一のファイルサイズを表示せずにフォルダーの合計サイズを表示する方法はありますか?

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