最新記事

PTRレコードとドメイン+ TLD一致でgrep
bash
awk
grep

PTRレコードとドメイン+ TLD一致でgrep

hostIPコマンドを実行した後、リストにドメイン+ TLDがあることを確認しようとしています。 私のスクリプトは次のとおりです while read ip; do PTR=$(host $ip | rev | cut -d" " -f1 | rev | sed 's/\.$//') if grep -q "$PTR" list.txt then echo "Match in list" else echo "No match in list" fi done

Admin

1列のすべての文字をアルファベット順に計算する方法
sed
grep
columns

1列のすべての文字をアルファベット順に計算する方法

ファイル内の「a」から「z」までの列のすべての文字をどのように計算し、.tsv各文字がどのくらいの頻度で表示されるかを出力で知ることができますか? たとえば、これが列であるとします。 abc abd aabf 私が望む出力は次のとおりです。 4 a 3 b 1 c 1 d 1 f

Admin

カールレスポンスでは、2つの文字列をGrepして同じ行のファイルに出力します。
grep
scripting
regular-expression
curl

カールレスポンスでは、2つの文字列をGrepして同じ行のファイルに出力します。

プロセスを自動化したい。 カール要求に使用するIPアドレスのリストがあります。 curl http://api.geoiplookup.net/?query=($ip) カールの出力から都市を取得し、フォーマットでテキストファイルに1行を書きたいですIP_address:city。 都市を見つけるために、次のものが見つかりました(googleはい)。 curl http://api.geoiplookup.net/?query=216.58.198.206 | grep -oP '(?<=\).*(?=\<\/city\>)' 私が行ったプロセスを自動化するには(しかし改善が必要です^^): for ip in $(cat essai); do curl http://api.geoiplookup.net/?query=$ip & done コマンドを追加しようとすると、grep都市は表示されず、エラーが発生します。 ありがとうございます。

Admin

grepを使用して正規表現パターンを含むファイルを見つける
grep
regular-expression

grepを使用して正規表現パターンを含むファイルを見つける

閉鎖。この質問には詳細または明確性。現時点では回答は許可されていません。 この質問を改善したいですか?詳細を追加して質問を明確にしてください。この記事を編集してください。 閉鎖3年前。 この問題を改善する 正規表現パターンを含むすべてのファイルを見つける方法はありますか?ちなみに、grepを意味するものではありません。使用正規表現とは、正規表現文字列を含むファイルを見つけることを意味します。 つまり、これはありません: grep -E '\S+\s+\d+' $file しかし、次のようなもの: grep -E '' $file ここで $file には実際にはいくつかの正規表現パターンが含まれています。 更新(明確化のため): そのパターン()を探したくないので\S+\s+\d+、次の内容を含むファイルを探したいと思います。どの正規表現パターンが含まれています。

Admin

sedがgrep(およびsedとawk)のロケール照合ファイルで定義された操作を実行しないのはなぜですか?
awk
sed
grep
sort
unicode

sedがgrep(およびsedとawk)のロケール照合ファイルで定義された操作を実行しないのはなぜですか?

すべての(印刷可能な)ASCII文字を含むファイルがあります。 $ printf '%b' "$(printf '\\U%x\n' {32..126})" > file 並べ替えることができます(長い出力を1行に減らすにはtrを使用してください)。 $ sort file | tr -d '\n' !"#%&'()*+,-./:;<=>?@[\]^_`{|}~$0123456789aAbBcCdDeEfFgGhHiIjJkKlLmMnNoOpPqQrRsStTuUvVwWxXyYzZ en_US.utf8ロケールを使用するDebianバスターシステムに表示される照合順序(個々の文字の場合)は、最初に句読点、数字、大文字と小文字の混合順序です。つまり、aAbB、小文字、大文字が一緒に使用されます。 これが正確で、ユーザー(私)が整理したい場合であるとしましょう。 ただし、同じシステムでは、他の変更なしに次のことが発生します。 $ grep '[a-z]' file | tr -d '\n' abcdefghijklmnopqrstuvwxyz つまり、範囲はa-z何かによって小文字のASCII文字に変換されます。 翻訳は誰が行い、どのように制御または変更できますか? 私は小文字が何であるか、[az]が何を意味するのか、または誰かがそれが何を意味するのかを尋ねません。 [a-z]この範囲は、で始まり、で終わる範囲であると予想されます。az ソート順に。 [a-z]一部の他のユーザーは、すべてのロケールで意味が「小文字」と同じであることを知っています。私はおそらく基本的に「これと一緒に暮らす」でしょう。 しかし、必要に応じてこれをどのように制御および/または変更できますか?交換可能なハンドルはどこにありますか? いいえ、照合ファイルを変更しても役に立ちません。それ以上のものがあり、[a-z]すべてのロケールで常にASCII小文字を意味しなければならないという個人的な意見を強要します。

Admin

フィールド4と5に、コロンで区切られた数字でエンコードされた文字を含む2つのフィールドを追加します。
awk
sed
grep

フィールド4と5に、コロンで区切られた数字でエンコードされた文字を含む2つのフィールドを追加します。

8番目と9番目のフィールド/列を生成し、適切な文字を4列と5列の数字にエンコードしたいと思います。コロンで区切られた6つの数字は次のとおりです。A:T:C:G:N:del 注:列6と7の一部の行が空でした。 NAを挿入してこの問題を解決しました。 awk -F'[[:space:]]' '$5 && !$6{ $6="NA" }1' awk -F'[[:space:]]' '$6 && !$7{ $7="NA" }1' 次に、もう一度タブを使用してファイルを区切ります。sed -e 's/ /\t/g' ファイル.tsv NW_006532398.1 302035 C 0:0:32:0:0:0 42:0:0:0:0:0 KCND2 intergenic_region NW_006532656.1 289636 C 0:0:28:0:0:0 0:28:0:0:0:0 CNTN1 intron_variant NW_006532762.1 6396 C 0:54:0:0:0:0 0:0:53:0:0:0 NA intergenic_region NW_006532762.1 25741 C 0:0:62:0:0:0 0:43:0:0:0:0 NA intergenic_region NW_006532762.1 32304 T 0:60:0:0:0:0 0:0:49:0:0:0 NA intergenic_region NW_006532762.1 179065 G 0:0:0:45:0:0 59:0:0:0:0:0 DOCK4 intron_variant 出力 example.tsv NW_006532398.1 302035 C 0:0:32:0:0:0 42:0:0:0:0:0 KCND2 intergenic_region C A NW_006532656.1 289636 C 0:0:28:0:0:0 0:28:0:0:0:0 CNTN1 intron_variant C T NW_006532762.1 6396 C 0:54:0:0:0:0 0:0:53:0:0:0 NA intergenic_region T C NW_006532762.1 25741 C 0:0:62:0:0:0 0:43:0:0:0:0 NA intergenic_region C T NW_006532762.1 32304 T 0:60:0:0:0:0 0:0:49:0:0:0 NA intergenic_region T C NW_006532762.1 179065 G 0:0:0:45:0:0 59:0:0:0:0:0 DOCK4 intron_variant G A どんな助けでも大変感謝します! !

Admin

xargsとgrepを使用してディレクトリの内容を一覧表示する
grep
ls
xargs

xargsとgrepを使用してディレクトリの内容を一覧表示する

特定のパターンで名前が付けられたjsonファイルとpdfファイルがたくさんあるディレクトリがあります。\d{11}-\d\.(?:json|pdf)コマンドは、次のパターンを使用して名前でファイルをフィルタリングしようとしています。何らかの理由で動作しません。これは、xargsが引数を1つの大きな文字列行として使用するか、入力が分割されたときに空白、\ n、またはnull文字があるためだと思います。 ls | xargs -d '\n' -n 1 grep '\d{11}-\d\.(?:json|pdf)' これを試みると、ls | xargs -d '\n' -n 1 grep '\d'数値を含むファイル名が選択され、複数の正規表現を指定すると一致するものはありません。

Admin

「ファイル名を持つファイルB」から「ファイル名を持つファイルA」、つまり「Aから削除された項目」を減算または減算しませんでしたか?
grep

「ファイル名を持つファイルB」から「ファイル名を持つファイルA」、つまり「Aから削除された項目」を減算または減算しませんでしたか?

rsync(できるので)大きなフォルダAをBにコピーしたりバックアップしたいです。https://stackoverflow.com/a/65485164/1707015。 うまくいきますが、時にはBをクリーンアップしてBから古いファイルを削除したいです(Aから削除された場合)。 Aから削除されたファイルをインポートする必要があります(Bでも削除できるように)。 $ cat A_files.txt # for example: think the small letters as paths like ./some/path/file.yaml a c d e f $ cat B_files.txt a b c d $ \grep -f A_files.txt -F -v B_files.txt b (バックスラッシュは\色などのgrepエイリアスを使用しないためです。) これはうまくいきますが、小さなファイルにのみ当てはまります。ファイル名あたり100MBを超えるファイルの場合は、100GB以上のRAMが必要です。 誰かがよりリソース効率の良いバリエーションを提供できますか?もちろん可能ですrsync。しかし、楽しさや練習目的で使用するためのものではありません。

Admin

grep / xargsを使用して、要件ファイル(PIP)に「> =」と記載されている現在インストールされているバージョンをインポートします。
grep
python
xargs
pip

grep / xargsを使用して、要件ファイル(PIP)に「> =」と記載されている現在インストールされているバージョンをインポートします。

requirements.txt次のバージョンを一覧表示するファイルがあります。 # requirements.txt channels==2.4.0 colorama>=0.2.3 daphne==2.5.0 django-q>=1.1.4 PIPのあるリリースの場合は==正しいバージョンがインストールされますが、PIPのあるリリースの場合は>=他のパッケージに基づいて最も高いバージョンがインストールされます。すべてのパッケージのインストール済みバージョンを新しいファイルに保存したい場合、または>=可能であれば元のファイルのバージョンを直接上書きしたいと思います。結果は次のとおりです。 # requirements_updates.txt channels==2.4.0 colorama==0.4.3 daphne==2.5.0 django-q==1.3.4 テスト中に同様のことを試みましたが(おそらく無視する必要があります)、複数のパイプの後に出力の生成が中断され、盲目的にコピーする必要があるパッケージもcat requirements.txt | grep -Po ".*?(?=>=)" | xargs -I "python -m pip freeze | grep %" | grep -Po "(?<===).*?(?=$)"考慮しませんでした。==私は実行中のDockerコンテナ内で共有して使いやすいので、スクリプトよりもコマンドを好みます。

Admin

特定の文字で始まる開き括弧の後の単語を検索する正しいgrep正規表現文字列は何ですか?
grep
regular-expression

特定の文字で始まる開き括弧の後の単語を検索する正しいgrep正規表現文字列は何ですか?

私のPythonスクリプトの中には、関連ファイルglob.glob(parent_folder_path + glob_str)を含むこの行を正しいgrepコマンドを使用してコンソールに印刷する必要がありますが、これまでは印刷方法がわかりません。 すべて - 行を検索するコードglob.globは次のとおりです。 grep --exclude-dir='.history' --exclude-dir='__pycache__' --exclude-dir='.wine' -Rinw /home/andylu/Desktop/Python/Scripts/ -e 'glob.glob' しかし、これはまだ私が達成したい正確さではありません。正規表現文字列として使用すると、'glob.glob(p*'検索結果には1行だけ表示されます。結果が私に与えられるというのがglob.glob()理解できませんね。(p*() 次に私はそれを試して'glob.glob(p.*'実際にうまくいき、すべての結果を見せましたglob.glob(parent_folder_path + glob_str)。 試行錯誤を経て近くで見つけましたが、grep構文をよりよく理解したいと思います。最後の正規表現文字列は次のように有効ですか?このチートシート、.ランダムな文字とランダムな*繰り返し数を示しますか?

Admin