Unix のコマンドの一つ。
複数のファイルから正規表現を用いて文字列を検索する機能を提供する。 grep の名の由来はラインエディタ ed のコマンドの g/RE/p で、正規表現 RE(RegExp) にマッチする全ての行(global)を表示(print)するというところから来ている。
現在は Unix のコマンド名に留まらず、文字列検索ツールの名前や、テキストエディタの検索機能の名前としても grep という名前が使われることもある(秀丸エディタの grep 機能など)。
コマンド 以下のコマンドで"カレントディレクトリ配下にあるファイルから対象の文字列が記載されたファイルをを検索できます。 $ find ./ -type f -print | xargs grep 'xxxxx' テスト memo04.txtに'hoge'を記載したうえで、'hoge'と書かれたファイルを検出する。 find ./ -type f -print | xargs grep 'hoge'> ./subtest/memo04.txt:hoge memo04.txtが検出できました。
(2023-04-06 初稿 - 2023-04-27 追記) ランキング参加中プログラミング ランキング参加中Debian ランキング参加中Linux はじめに 来年(2024年)から新NISAが始まるようで、投資するお金はないけど、投資の練習だけはしておこうと、Googleファイナンスをスクレイピングするbashスクリプトを作った。(笑) スクレイピングは、python等の高級言語で作るのが一般的みたいだが、bashで作ったのは趣味の問題。^^; ここでは、単純にするために、S&P500とドル円の為替レートを取得する方法を記述する。他の投資先でもURLを変更すれば、対応可能だと思う。 また…
こんばんは。まるです。 出向先が変わってから1か月たちましたが相変わらずひーひーいいながら毎日過ごしてます。 これを頑張り切れればスキルアップ間違いないと信じて頑張ってます。 さてそんな私に強力な助っ人が現れました。 そう、みんなもうご存じChatGPT大先生です。大先生はコードに関することでもなんでも答えてくれます。 本当に素晴らしい先生なので是非皆さんも使ってみてください。無料です。 ではタイトルの件を先生とやり取りした結果を載せてみます。 ただしあっているかはまだ調べてません。万が一違うようでしたら後日訂正します。 ChatGPTってすごいんだなーくらいで見ていただければと思います。 以…
概要 ディレクトリ内を検索する際のlinuxコマンドやその使い道をまとめる Command構文 find フォルダ・ファイルの検索 ※オプションに[-print0]を付けることで空白にも対応 find <DIR> <option> [条件A] <-print0> ls ファイル・ディレクトリを一覧出力 ls <option> <DIR> grep 文字列の検索が出来る grep [文字列] <DIR> xargs コマンドの出力結果を別のコマンドの引数として渡す ※オプションに[-0]を付けることで空白にも対応 <command1> | xargs <-0> <command2> [<comm…
はじめに 皆さんこんにちは、開発課のthree_yagiです。 現在の業務では不具合などが発生したときの原因調査を担当することが多く、本番環境のログの調査をよく行っています。 Linux上に存在するログを調査するにあたって、必須ともいえるのが文字列検索を行う grep コマンドです。 こちらの記事では、grep コマンドについて私が実務でよく使っている検索方法と併せて紹介していきます。 目次 はじめに 目次 grep コマンドの基本 基本構文 よく利用するオプションと正規表現 オプション 正規表現 利用例(基本編) 基本の検索 AND検索 OR検索 NOT検索 大文字と小文字を区別しないで検索…
・2つのファイルの中身の異なる部分を抽出する → diff ※対象ファイルの中身がソート済みであること $ diff file1 file2 ・2つのファイルの中身の同じ部分を抽出する → comm ※対象ファイルの中身がソート済みであること $ comm -1 -2 file1 file2 オプションの説明 1 : file1の中身のみの存在する行を出力しない 2 : file2の中身のみに存在する行を出力しない ・2つのファイルの中身の同じ行を抽出する → grep ※ソート済みの必要なし $ grep -x -i -f file1 file2 オプションの説明 x : 行全体を検索対象と…
【辞書】 ◆grep (Wikipedia) https://ja.wikipedia.org/wiki/Grep 【ツール】 ◆grep (Linux) 【オプション】 オプション 説明 -i 大文字と小文字を区別しない -E 拡張正規表現を使用する -e 指定した正規表現を使う(OR条件の検索) -v 一致しないものを検索する -n 結果に行番号を表示する -l 結果にファイル名のみ表示する -h 結果にファイル名を表示しない -o 結果に一致した文字を表示する -C 結果に一致した箇所から前後に指定した行数表示する -r ディレクトリ内も検索対象とする -L 検索した結果、該当しなったフ…
こんにちは!アイリッジプロダクト開発グループの森山です。 突然ですが、皆さんログの調査はされていますか?僕はしてました。 といっても、今まではAWS CloudWatchのログをぽけーっと眺めるくらいでした。(眺められるくらいの量のログしかなかった) アイリッジに入社してからはログの量が非常に多いため、ワンライナーでコマンドを打ち、ログを探す技術が必要となったので大慌てで勉強しました。 最近ようやくそれなりに意図したログを抽出できるようになりました。 といっても、完全にマスターしたわけではなく、あくまで私がよく使うコマンドを載せますので 独断と偏見が入っています!ご了承ください。。。 gz形式…
はじめに まずは、サンプルデータをダウンロードする 検索語に一致した文字列のみを抜き出して出力する 大文字・小文字を区別せず、検索語に一致した文字列のみを抜き出して出力する 検索語に一致した文字列の数をカウントする【部分一致検索】 検索語に一致した箇所の前後の行を出力する 検索語に一致した箇所の前後の文字列を出力する 検索語を行番号付きで出力する 検索語の行番号のみを出力する grepのエラーメッセージを消す まとめ 補足 正規表現のまとめ 参考 はじめに 「grepコマンドによる文字列処理をやってみた」の続編です。 以前扱えていなかった内容をやっていきたいです。 grepコマンドの基本につい…
はじめに 練習用のファイルのダウンロード ファイル内のテキストに対する処理 ある特定の文字列を含む行を表示する ある特定の文字列を含まない行を表示する ある特定の文字列を含まない行を別ファイルに出力する 空白行を削除する ファイル内の行数をカウントする 複数条件で、文字列の検索をする場合 grepでのAND検索 grepでのOR検索 ファイル名に対する処理 ある特定の文字列をファイル名に含むファイルを検索する サブディレクトリも含めて検索する 特定のファイルを検索して、消去する 補足 ターミナル・ショートカット cd : ディレクトリ移動 cat : ファイル内表示・結合・作成 head / …
Amazon ECRとは Dockerコンテナレジストリサービス。自分で作成したコンテナイメージや、AWS Marketplaceで購入したDockerコンテナイメージの保存・管理ができる。 DockerHubのAWS版ですね。(´Д`)ンマー ECRのコンポーネント レジストリ:各AWSアカウントでパブリックとプライベートのレジストリを1つずつ作成でき、レジストリ内に複数のリポジトリを作成してDockerイメージを保存する。 認証トークン:クライアントがイメージをプッシュおよびプルする際の認証を行える。 リポジトリ:Dockerイメージ、Open Container Initiative(O…
Windowsアプリを動かすために。結果、正しくインストールできなくなった。オワタ……。
ディレクトリ操作 ディレクトリ 確認 $ pwd ディレクトリ 作成 $ mkdir ディレクトリ名 ディレクトリ内 確認 $ ls -lオプション:詳細情報 表示 -aオプション:隠しディレクトリも 表示 ディレクトリ 移動 $ cd ディレクトリ名 ディレクトリ 削除 $ rmdir ディレクトリ名 ディレクトリ+ファイル 操作 移動 + 名前変更 mv 変更前ファイル名 変更後ファイル名 コピー $ cp コピー元のパス コピー先のパスディレクトリ内のファイルごと コピー $ cp -r コピー元のパス コピー先のパス 削除 $ rm ディレクトリ名 $ rm ファイル名ディレクトリ内の…
⚠️ AWSGoat Module 2 のネタバレあり はじめに AWSGost とは 攻撃方法の分類 インフラの料金 ラボ環境の構築 AWSGost リポジトリをフォーク Actions secrets でクレデンシャルを設定 GitHub Actions でデプロイ Module 2の大体の流れ Step 1. SQL Injection 解法 脆弱性があるコード Step 2. File Upload and Task Metadate リバースシェルの用意 待ち受け側 Step 3. ECS Breakout and Instance Metadata 現ユーザの権限を確認 リソースへ…
AWS Fargate コンテナの Graviton2 移行について実例を交えてご紹介します。 こん**は。 新型コロナウイルス感染症は5類感染症に移行となりましたが、読者の皆様はお変わりなくお過ごしでしょうか。お久しぶりの投稿となります、プロダクト技術本部の江角です。 前回執筆させていただきましたGitログの記事では「ほぼフルリモート!」とお伝えしていましたが、近況に変化がありましたので少しお話できれば、と思います。 BIGLOBEは4月より組織改編等もあり、「リアルでの会話、議論を重視したい」という流れのもと、今までは疎らだったオフィスに人が戻って来つつあります。 私が今所属しているグルー…
こんにちは!プラットフォーム開発部 SRE チームの jeff です。 先日起こった AWS CodeDeploy の事象について備忘録がてら書いていきます。 AWS CodeDeploy とは? AWS が提供するアプリケーションのデプロイを自動的に行うマネージドサービスです。EC2, Lambda, ECS, オンプレミスインスタンスに対応しています。 aws.amazon.com 気づいたきっかけ ある日QAチームから、弊社で開発運用しているとあるアプリケーションのレスポンスがエラーになる時があるとの連絡を受けました。 構成など 今回問題が起きていたアプリケーションの簡単な構成は以下にな…
prometheusでリソース取れるようになったのでGrafanaでいい感じに可視化してみます。 リポジトリからもインストールできるようなのですが、ここを参考にパッケージをインストールしました。 (最初に発見したのがここだったので) grafana.com cloud利用などもできるようですが初めてなのでローカル環境へインストールします。 前提パッケージインストール サイトに倣ってインストールします。 まずは前提となる依存パッケージのインストール。 masashi@lab-monitor1:~$ sudo apt-get install -y adduser libfontconfig1 ..…
DEF CON CTF 2023 Qualifiersに参加しました。そのwrite-up記事です。
Amazon EKSを使ってkubernetesを感じようと思いますー Amazon EKSとは 独自の Kubernetes コントロールプレーンまたはノードをインストール、操作、および維持することなく、AWS で Kubernetes を実行するために使用できるマネージドサービス。 Masterノードがマネージドになり、Workerが操作できる模様。 確かにMasterはあまり設定を加えないのでマネージドは助かる(*´ω`*) やること AWS CloudShellにkubectl、eksctlのインストール AWS CloudShellからeksctlコマンドでEKS Clusterを作…
複数行の出力結果からある文言に一致する行を取り出したい場合 複数行の出力結果からある文言に一致する行を取り出したい場合はgrep以外でawkコマンドを使用できます。awkコマンド 例) echo '文字列' | awk '/[正規表現]/'"awk"は、UnixやLinuxシステムで利用できるテキスト処理ツールで、テキストファイルから行単位での処理を行うことができます。
zgrepコマンドを使用して、gzファイル内の特定の文字列から20行を確認する方法を以下に示します。 zgrep -A 20 "特定の文字列" yourfile.gz 上記のコマンドでは、yourfile.gzの部分を対象のgzファイルのパスに置き換え、特定の文字列の部分を検索したい文字列に置き換えてください。 zgrepコマンドは、gzipで圧縮されたテキストファイル(gzファイル)を検索するための拡張版のgrepコマンドです。-A 20のオプションを使用することで、検索した文字列を含む行から下に20行分のテキストを表示します。 この方法により、zgrepコマンドを使用してgzファイル内の特…
はじめに 問題のビルド git bisect の準備 テストスクリプト ビルドが通らなくなったであろうコミット 対策(暫定) おわりに 追記 (2023/05/29 23:03) 何が起きたか 最終的な対策 反省文 はじめに mtr のオプションを拡張するパッチを出そうと最新の MySQL をビルドしようとしたら、またしてもすんなりと行かないケースが見つかったので何が原因でだめだったかをまとめる。今回は特に原因がわかりにくい部類だったのでその調べ方もついでに載せる。 問題のビルド 現在最新のバージョンである 8.0.33 をビルドすることを考える。いつもは配布されているソースコードを boos…
lxc ディスクの圧縮 以前も試したのだが、Raspiを構成し直すにあたり、もう一度やってみた。 lxd のストレージ・プールbtrfsに透過圧縮(zstd)を有効にする。 - それマグで! 圧縮を有効にする lxc storage set default btrfs.mount_options compress=zstd または、lxc storage edit で編集する lxc storage edit default 例えば次のように編集 config: btrfs.mount_options: user_subvol_rm_allowed,compress=zstd source:x…
cat yoshinoya?page=10 | grep -C 100 'class="data"' | sed -n '/user/,/box_reference/p' | sed -e 's/<[^>]*>//g' | sed 's/[[:space:]\n]//g' |sed '/^$/d' れんこんさん レギュラー会員 投稿日:2021.08.25 4.00 料金 5.00 味 5.00 接客 4.00 スピード 5.00 夜中だったのにありがとう 夜中の2時くらいに、赤羽の店舗に行きました。 その時はそんな時間にもかかわらず、5つのお弁当を注文。しかもみんなばらばらの種類のやつです。…
サーバーサイドエンジニアの田実です! YappliのサービスではコンテンツデータをSQLite3で管理しています。SQLite3を使っている理由や課題の詳細は以下の記事に書いています。 tech.yappli.io コンテンツデータ以外にもアプリやアカウントのデータもコンテンツデータとは別のSQLite3ファイルで管理していました。上記のブログにも記載の通り、SQLite3を使ったデータ管理は閲覧性やマイグレーション、冗長性など多くの面で課題がありました。そこで、昨年このアプリ・アカウントのデータをSQLite3からMySQLに移行し、これらの課題を解消しました。SQLite3ファイルの管理は…