Q&A
2回答
1302閲覧
総合スコア159
grepはコマンドライン上でテキスト検索を可能にするユーティリティーです。元はUnixのために用意されたものです。
sedとは、POSIX環境のために作られたコマンドラインエディタです。sedは編集スクリプトの指示のもとに複数のファイルを編集し、標準出力にその結果を出力します。
SSH(Secure Shell)は、セキュアチャネルを通してデータを交換するためのネットワークプロトコルです。リモートサーバーへのコマンド実行やファイル転送を行う時に一般的に使用されます。
Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。
コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。
0グッド
0クリップ
投稿2019/12/12 04:22
0
grep -l '置換対象の文字列' ./* | xargs sed -i.bak -e 's/置換対象の文字列/置換後の文字列/g'
上記だとカレントディレクトリにあるファイルは全て置換できるのですが、カレントディレクトリにあるディレクトリ以下のファイルまでは置換できません。ディレクトリの中のディレクトリも全て巡ってカレントディレクトリ以下にある全てのファイル内の文字列を置換するにはどうすればよいでしょうか? 宜しくお願いいたします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
質問へのコメント
2019/12/12 04:30 編集
回答2件
findコマンドについて調べてみてください。
投稿2019/12/12 04:50
総合スコア13727
grepに「-r」オプションを追加すれば良いのではないでしょうか。 その場合対象ファイルは「./*」でも一応動きますが「.」に変えたほうが良いです。
grep -lr '置換対象の文字列' . | xargs sed -i.bak -e 's/置換対象の文字列/置換後の文字列/g'
投稿2019/12/12 04:37
総合スコア1248
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
まだベストアンサーが選ばれていません
アカウントをお持ちの方はログイン
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
カレントディレクトリ以下の全てのファイル内の文字列を置換するコマンド