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

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

5
CPからのエラーメッセージを抑制するにはどうすればよいですか。
現在Linuxでエラーコマンド、特にコマンドを抑制する方法を探していますcp。 私がやります: root@ubuntu:~$ cp /srv/ftp/201*/wha*/*.jj ~/. cp: cannot stat `/srv/ftp/201*/wha*/*.jj': No such file or directory 画面に表示されるエラーメッセージを非表示にするにはどうすればよいですか?つまり、このエラーメッセージをモニターに表示したくありません。
13 shell  wildcards  cp 

2
tarコマンド-シンボリックリンクをスキップ
私はtarコマンドを次のように使用します。 tar -cvf protTests.tar protTests/* tarフォルダ内のすべてのファイル、protTests。ただし、これにはフォルダー内のシンボリックリンクが含まれていますが、これは望ましいものではありません。 すべてのシンボリックリンクを除外するコマンドラインオプションはありますか?
13 files  symlink  tar  wildcards 

2
複数のファイルでコマンドを実行する方法
これはかなり基本的なものです。JSファイルのいくつかのサブフォルダーを含むフォルダーがあり、それらのフォルダー内のすべてのファイルに対してGoogleのClojureコンパイラーを実行したいと思います。単一のファイルを処理するコマンドは次のとおりです。 java -jar compiler.jar --js filename.js --js_output_file newfilename.js これを変更して、ディレクトリ構造内のすべてのJSファイルで実行するにはどうすればよいですか?

3
グロブの順序を変更することは可能ですか?
次のようなことを行って、syslogから特定のメッセージのすべてのインスタンスを時系列順に表示しようとしています。 grep squiggle /var/log/messages* 残念ながら、globパターンは現在アクティブなファイルと最初に一致します。例えば。 /var/log/messages /var/log/messages-20120220 /var/log/messages-20120227 /var/log/messages-20120305 /var/log/messages-20120312 これは、最近のメッセージが最初に表示され、その後に時系列で履歴メッセージが表示されることを意味します。 どうにかしてグロブパターンの振る舞いを調整して、空の一致をmessagesリストの最後に表示することは可能ですか? そうでない場合、この問題に対処する良い方法は何でしょうか?
12 bash  wildcards 

5
*がドットファイルと一致するかどうかを制御するための、グロビングのbashの設定とは
私が最近何かのようなことをしたときに驚いたのは、のような mv ./* ../somedirectory ファイル.gitignoreが移動されていないことでした。 私はOS Xのzshでほとんどの作業を行っていますが、この驚きはCentOSのbashで私に噛み付きました。OS Xでbashを試してみたところ、同じ動作が見つかりました*。ドットファイルと一致しません。これは私には非常に望ましくないようですが、明らかにbashのデフォルトです。(私が覚えているすべての場合、これもzshのデフォルトである可能性がありますが、.zshrcで何年も前に変更していて、これまでとは異なる動作をしたことを忘れている可能性があります。) 期待どおりに動作するようにbashを構成するにはどうすればよいですか。*がすべてのファイルに一致し、ドットファイルを無視しないようにします。 これがまったく不明確な場合のために、それを再現する方法を次に示します cd /tmp mkdir {t,d}est touch test/{.,}{1,2,3,4,5,6,7} ls -hal test mv test/* dest ls -hal test # notice dot files are still there ls -hal dest # notice only some files were mv'ed
12 bash  wildcards 

4
グロブを「検索」に変換
私は何度も何度もこの問題を抱えていましたCommand line too long。正しいファイルと正確に一致するが、原因となるグロブがあります。私はいくつかの組み合わせにそれを変換したすべての時間findやgrep特定の状況のためにその作品が、100%同じではありません。 例えば: ./foo*bar/quux[A-Z]{.bak,}/pic[0-9][0-9][0-9][0-9]?.jpg グロブをfind知らない式に変換するツールはありますか?またはfind、サブディレクトリ内の同じグロブと一致せずにグロブを一致させるオプションがありますか(たとえばfoo/*.jpg、一致は許可されませんbar/foo/*.jpg)?
11 find  wildcards 

2
bashファイル名の拡張(グロビング)の最大数はありますか?ある場合、それは何ですか?
bashファイル名の拡張(グロビング)の最大数はありますか?ある場合、それは何ですか?参照してくださいグロブ tldp.orgに。 ファイルのサブセットに対してコマンドを実行したいとしましょう: grep -e bar foo* rm -f bar* bashが展開するファイルの数に制限はありますか?ある場合、それは何ですか? これらの操作を実行する別の方法を探していません(たとえばを使用してfind)。

3
バッシュグロビングの歴史
Bashの「グロビング」と正規表現が同一でない歴史的な理由はありますか?たとえば、Bash [1-2]*では1または2で始まり、その後に何かが続くものに一致すると思いますが、正規表現[1-2]*は1と2のシーケンスのみに一致します。私のBashスクリプトとREGEX fooはどちらも非常に弱く、私はこれらの違いに関連する問題に定期的に遭遇しました。


2
`du`コマンドで特定の拡張子の合計ファイルサイズのみを表示する方法
ディレクトリに何百ものpdfファイルとhtmlファイルがあります。そして、私はPDFファイルの合計サイズを知りたいです。 コマンドでdu -ch /var/foo合計ファイルサイズを確認できますが、必要なのは最後の行の合計サイズだけです。 ディレクトリにpdfファイルのみが含まれている場合、-sオプションを使用できますが、今回はオプションを使用できません。 特定のファイルタイプの合計サイズのみを取得するにはどうすればよいですか?

10
ディレクトリ内のファイル数をカウントする最良の方法は何ですか?
ls一部のファンキーな文字(スペース\n、...)で壊れる可能性があるため、の出力の解析が危険な場合、ディレクトリ内のファイル数を知るための最良の方法は何ですか? 私は通常find、この解析を回避することに依存していますが、同様にfind mydir | wc -l、同じ理由で壊れます。 私は現在Solarisで作業していますが、さまざまなユニックスやさまざまなシェル間で可能な限り移植性のある答えを探しています。

4
.gitignoreにないファイルを検索する
プロジェクト内のファイルを表示するfindコマンドがあります。 find . -type f -not -path './node_modules*' -a -not -path '*.git*' \ -a -not -path './coverage*' -a -not -path './bower_components*' \ -a -not -name '*~' .gitignoreにあるファイルを表示しないようにファイルをフィルタリングするにはどうすればよいですか? 私は私が使うと思った: while read file; do grep $file .gitignore > /dev/null && echo $file; done しかし、.gitignoreファイルはグロブパターンを持つことができます(ファイルが.gitignoreにある場合、パスでも機能しません)。グロブを持つ可能性のあるパターンに基づいてファイルをフィルタリングするにはどうすればよいですか?
11 grep  find  wildcards  git 

1
グロブを使用してforループで './'を指定することに利点はありますか?
で./*.fastq終わるファイルを検索するときに使用した方が安全なのではないかという印象を受けました.fastq。たとえば./、ファイルのキャプチャを防止します.fastq。次の例に示すように、これは明らかに間違っています。 TMP_DIR=$(mktemp --directory) mkdir -p ${TMP_DIR} (cd ${TMP_DIR} touch {a,b,c,}.fastq ls -a echo "" echo "# match all:" for f in *.fastq ; do echo "${f}" done echo "" echo "# with ./:" for f in ./*.fastq ; do echo "${f}" done ) rm -rf ${TMP_DIR} . .. a.fastq b.fastq …
10 bash  shell  wildcards 

2
範囲を使用したtrの奇妙な動作
trを使用するときに奇妙な動作をする特定のサーバーがあります。以下は、稼働中のサーバーの例です。 -bash-3.2$ echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] 1234567890 -bash-3.2$ それは私には完全に理にかなっています。 ただし、これは「特別な」サーバーからのものです。 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] abcdefghijklmnpqrstuvwxyz1234567890 ご覧のように、すべての小文字の削除は失敗します。しかし、それは文字「o」を削除しました 興味深いのは、次の2つの例ですが、これらはまったく意味がありません。 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-n] opqrstuvwxyz1234567890 [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-o] abcdefghijklmnpqrstuvwxyz1234567890 [root@host~]# (ここでも、最後の例では「o」が削除されています) ここで何が起こっているのか誰か誰か知っていますか?私が使用している他のLinuxボックスでは再現できません。


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