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


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行に分割する必要がありますか?

1
echo [9876543210]は1 4 5 6を表示します…なぜですか?
最後の4つのエコーステートメントに対して1 4 5 6が表示される理由を説明してください。私は偶然これにぶつかったのですが、今ではこの動作がなぜ起こるのか興味があります。 これらのステートメントは期待どおりに機能します(私にとって)。 $ echo [ 9876543210 ] [ 9876543210 ] $ echo [237890] [237890] これらのechoステートメントは常に1 4 5 6を表示します。これらの数値について何か特別なことはありますか? $ echo [9876543210] 1 4 5 6 $ echo [abcd9876543210ghi] 1 4 5 6 $ echo [-123456-] 1 4 5 6 $ echo [-7654321-] 1 4 5 6 ありがとう! …


2
検索で論理ORを使用する方法は?
bashシェルでlsは、論理OR機能を使用できます(もちろん、私も使用できますls name1 name2が、実際の例はより複雑です)。 ls @(name1|name2) これを使用してこれを行う方法はありfindますか? 私の素朴な実装: find . -maxdepth 1 -name @("name1"|"name2") 機能しません(何も出力しません)
12 find  ls  patterns 

3
番号で終わるファイルを検索
ログファイルがどんどん大きくなるにつれて、バックアップスクリプトを作成しようとしています。私が持っているのは、現在のファイル(たとえばのsecureファイル/var/log/)をコピーして、そのファイルからコンテンツを削除することです。しかし、そこのような名前を持ついくつかのファイルは、以下のとおりですsecure.1、secure.2と私は好きでこのすべては、それらをカウントし、その数が大きければ、その後2、それらすべてをアーカイブします。このファイルを見つけたり、カウントしたりする方法が見つかりません。最初に思いついたのは、 find /var/log/ -name *.1 | wc -l そして、これ1は1つのファイルがあるので常に印刷されますsecure.1。どのようにしてforループのように数えることができます{1..5}か?このファイルを分離して1つのファイルにし、バックアップまたは削除するか、または何をする方法はありますか...または、最初に、番号で終わるすべての番号をどのようにして見つけることができますか?

1
ファイル名に改行を含むファイルを見つける方法は?
ファイル名に改行が含まれているファイルを見つけようとしています。しかし、どのパターンを使用するべきかわかりません。 以下は機能しますが、インデントされたコードで使用する場合はあまり役に立ちません。 find . -name '* *' 私はこれら2つを試したところ、nという文字を含むファイル名を見つけることに成功しました。 find . -name '*\n*' find . -name "*\n*" それから私はバックスラッシュエスケープシーケンスを書く方法を見つけてこれを試しました: find . -name "*$'\n'*" しかし、それでは何も見つかりません。どのようにパターンを書けばよいですか?
10 shell  find  patterns 

5
bashのパス名のパターンマッチング
ディレクトリ内のサブディレクトリのリストを操作したい。検討してください: for x in x86-headers/*/C/populate.sh; do echo $x; done これは与える x86-headers/elf/C/populate.sh x86-headers/gl/C/populate.sh x86-headers/gmp/C/populate.sh x86-headers/gnome2/C/populate.sh x86-headers/gtk2/C/populate.sh x86-headers/jni/C/populate.sh x86-headers/libc/C/populate.sh しかし、私は対応して経路の第2の部分に、という値が欲しい elf、glなど私が大手を取り除く方法を知っているがx86-headers。 for x in x86-headers/*/C/populate.sh; do i=${x##x86-headers/}; echo $i; done 与える elf/C/populate.sh gl/C/populate.sh gmp/C/populate.sh gnome2/C/populate.sh gtk2/C/populate.sh jni/C/populate.sh libc/C/populate.sh また、パスの後半の用語を取り除く方法も知っています。つまり、1レベル下がっています。 cd x86-headers for x in */C/populate.sh; do i=${x%%/*}; echo $i; done 与える elf …


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」と一致しなかったのはなぜですか?


7
`sed`を使用して正確な文字列を一致させる方法は?しかし、その一部ではありません。
以下のような入力ファイルFILE1.TXTがあります。 11 id1 12 13 AGE = 20 14 NAME = NAME1 15 16 id2 17 18 AGE = 30 19 NAME = NAME2 . . . 110 idXYZ 111 112 AGE = AGEXYZ 113 NAME = NAMEXYZ 114 115 idZZZ 116 特定のIDに属するすべてのフィールドを検索して、NAMEの値を取得したい 各IDをループ処理して、必要に応じて各IDに対して以下のコマンドを作成しました。 sed -n '/11/,/14/p' FILE1.TXT | grep …
8 sed  string  patterns 
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.