Register as a new user and use Qiita more conveniently You get articles that match your needsYou can efficiently read back useful informationYou can use dark themeWhat you can do with signing up
なんかCLIマジック:使って役立つワンライナー入門なんてのがあって気分が盛り上がってきたので、僕もワンライナーっぽいのを書いてみるよ。 困ったこと 例えば、カレントディレクトリ以下にあるファイルの名前を全部見たいとき、素直にfindコマンドを使うとこうなるね。 find . -type fでも出力はこうなる。 ./locale/.svn/entries ./locale/.svn/format ./locale/ja/switch_page_locale.dtd ./locale/ja/.svn/entries ./locale/ja/.svn/format ./locale/ja/.svn/text-base/switch_page_locale.dtd.svn-base ./locale/en-US/switch_page_locale.dtd ./locale/en-US/.svn/
Windowsをメインで使っていた頃は,プログラムのステップ数(行数)をカウントする場合,フリーソフトのコロ助などを使っていた.Linuxの場合,こういった特殊なソフトウェアを使わなくても,コマンドだけでステップ数をカウントすることができる. 例えば,特定のディレクトリに含まれている.cppファイルのコード行数を出力する場合を考える. .cppファイルのステップ数は次のコマンドで求めることができる. find . -name "*.cpp" | xargs wc -l 適当なソースが含まれているディレクトリに対して上記のコマンドを実行したところ,出力結果は以下のようになった. 104 ./release/moc_Read2chThread.cpp 72 ./release/moc_get2chthreadgui.cpp 15 ./main.cpp 337 ./Read2chThread.c
複数ディレクトリをfindで検索する場合、特定のディレクトリを検索対象外にする方法です。 findコマンドの「-prune」と「-o (-or)」オプションの組み合わせで実現することができました。 UNIXの部屋 コマンド検索: find より -prune それ以上ディレクトリを降りない。特定のディレクトリ以下を除外する場合に有用。 http://x68000.q-e-d.net/~68user/unix/pickup?find -o または -or 検索条件を OR で結ぶ。 % find . -name abc -or -type d ⇒ abc という名前のファイル・ディレクトリか、あるいはディレクトリを検索 http://x68000.q-e-d.net/~68user/unix/pickup?find 例)1つのディレクトリを対象外として、ファイルを検索する 「-path ".
本ブログ初のLinuxねた。 ファイルの特定の文字列を置換したいときがよくあります。 Emacsなら、M-x replace-stringで済むのですが、複数ファイルに一気に置換をかけたいときは Emacsだとめんどそう。ではどうするのか、と考えました。 結論 shellで以下のコマンドを実行。 find ファイル名 | xargs sed -i "s/置換前/置換後/g" 「ファイル名」は、file-rev1.txt、file-rev2.txtとかならfile-rev*.txtなどで複数選択します。 sedは文字列置換のコマンドになります。 sed -iのオプション付きですと、ファイルの文字列を直接書き換えます。なぜこんなことを言うかというと、 sedは通常だと標準出力に出力されて、ファイル自体をいじらないからなのです。 find ディレクトリ名 -type fの形で、-type fのオ
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く