タグ

Unixに関するYuhtoのブックマーク (24)

  • ファイル・ディレクトリ名の一括置換/一括作成 業務で楽するためのUNIXテクニック集

    はじめに この連載では、UNIX系OSをコマンドライン上から効率よく利用するために知っておくべきテクニックや、便利な小技を紹介していきます。 今回は、第0回、第1回で紹介したfind/xargsコマンド、シェルの変数展開、制御構造を利用した「ファイル・ディレクトリ名の一括置換」に関するテクニックを紹介します。 また、「ファイルやディレクトリの一括作成方法」「シンボリックリンクの作成方法」に関するテクニックも紹介します。「ファイル名の置換」テクニックを検証する際の、コマンド確認環境構築にご利用ください。 今までの記事 第0回 まずはおさらい、シェル制御構造と正規表現の基礎 第1回 「検索」編 find/grep/xargsコマンドを使いこなす 対象読者 UNIX系OSコマンドを一通り利用したことがある方 正規表現を利用したことがある方 何らかのプログラミング経験がある方 動作確認環境 Lin

    ファイル・ディレクトリ名の一括置換/一括作成 業務で楽するためのUNIXテクニック集
    Yuhto
    Yuhto 2009/02/19
    Solarisでは動作しない
  • xargs で再帰的 grep

    Landscape トップページ | < 前の日 2003-03-25 2003-03-26 次の日 2003-03-28 > Landscape - エンジニアのメモ 2003-03-26 xargs で再帰的 grep 当サイト内を Google 検索できます * xargs で再帰的 grepこの記事の直リンクURL: Permlink | この記事が属するカテゴリ: [unix] 問題: カレントディレクトリ以下には、複数個、複数階層のディレクトリがある。 その中にある特定の条件を持つファイルに grep をかけたい。 解答: find . |grep .0$ |xargs grep 'search string' find でとりあえず全ファイルをリストアップし、grep で特定ファイルを絞り込む。 さらにそれを xargs に渡し、grep のコマンドラインを作って実行する。

    Yuhto
    Yuhto 2008/06/05
    カレントディレクトリ以下のファイルすべての行数→find . -name '*' | xargs wc -l
  • Solaris Tips

    【/etc/system ファイルを編集する】 /etc/system の設定をおかしくしてしまい、ブートできなくなった時の対処方法 以降で /etc/system ファイルを変更するにあたり、まず、これを覚えておくことは重要。 boot -as でブートして下さい。 カーネルはシステム・ファイルの名前を含むいろいろな種類の質問をしてきます。 どのシステムファイルを使用するか訪ねられた際に、以前の /etc/system ファイル(バックアップを取ってある場合)を使用するか、/dev/null を指定してください。 プロセスごとのファイル・ディスクリプタ数を設定する方法 * set hard limit on file descriptors (デフォルトは 1024) set rlim_fd_max = 4096 * set soft limit on file descripto

    Yuhto
    Yuhto 2008/05/19
    備忘録→prtconf:メモリ;psrinfo:CPU
  • Unixのコマンドラインで使えるちょっとした小技をまとめた『Unix Comman-Line Kung Fu』 | IDEA*IDEA

    ドットインストール代表のライフハックブログ

    Unixのコマンドラインで使えるちょっとした小技をまとめた『Unix Comman-Line Kung Fu』 | IDEA*IDEA
  • 初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ

    他の言語をを書き慣れてから、シェルスクリプトを書こうとするとしょうもない部分でハマったりすることがあります。「簡単な処理だからシェルスクリプトで書くか」と思っても無駄に時間がかかってしまっては仕方ないですよね。 今回は初めてシェルスクリプトを書くときに、ハマりそうな点について説明をしたいと思います。 実行権限をつける 単純にファイルを生成しても下記の用に実行しようとしても実行はできません。 # touch test # ./test sh: ./test: Permission denied # touch foo # ./foo sh: ./foo: Permission denied これはファイルに実行権限がついていないため、起きる現象です。 chmodコマンドを使って実行権限をつけてやりましょう。 # chmod +x test # ./test # chmod +x foo #

    初めてシェルスクリプトを書くときに知っておきたいこと - Unix的なアレ
  • シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)

    Java BlockingQueueで遊ぶ:パイプラインごっこ」でパイプラインの話をしたので、来の、つまりUnixのパイプやリダイレクトを少し調べてみました。 たまに話題となる some-command >file 2>&1 と some-command 2>&1 >fileの挙動の違いについて、「シェルはコマンドラインリダイレクトの指定を右から左に解釈実行する」なんて説明が見つかりました。んなバカな! パージングは左から右にするものですよ。パーズツリーを逆順にたどることはできるけど、そんなことする必然性はなんにもないよ。 次の記事を読むと、「右から左」なんて事情じゃないことが分かるでしょう。 UNIXの部屋 検索: リダイレクト シェルのリダイレクトにまつわる失敗 さてここでは、複雑なリダイレクト処理も完全に理解できる処方箋を示しましょう。例えば、次のコマンドラインが何をするか分かる

    シェルのリダイレクトを「こわいものなし」というくらい完全に理解しよう - 檜山正幸のキマイラ飼育記 (はてなBlog)
    Yuhto
    Yuhto 2007/12/25
    あとで読む。じっくり。
  • Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro

    Linuxのコマンドを「やりたいこと」で探すことができます。「やりたいこと」をクリックすると、コマンド名、動作、構文、オプションの意味をご覧いただけます。コマンドの基を学びたい方は「Linuxコマンド道場」を参照ください。ファイルの操作からテキスト・ファイルの処理方法まで,例題に基づいて学べます。

    Linuxコマンド逆引き大全 Index - Linuxコマンド逆引き大全:ITpro
  • prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー

    Catalyst を POE で動かす Engine の Catalyst::Engine::HTTP::POE という実装が CPAN にあります。"Single-threaded multi-tasking Catalyst engine " だそうです。"Single-threaded" と言いつつも実装を覗いてみると環境変数 CATALYST_POE_MAX_PROC を 1 よりも大きく設定することで prefork する実装になってます。POEシングルスレッドではアプリケーション内で発生するブロックを避けることが難しいのでそのための実装じゃないかなと思います。 ところでこの Catalyst POE エンジン、prefork の実装はどのように行っているかというと POE から prefork と名の付いたイベントが発生するとおもむろに子プロセスを生成する、というのもの。複数の

    prefork サーバーと thundering herd 問題 - naoyaのはてなダイアリー
  • ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)

    春は出会いと別れの季節。入学や就職で、新しい生活を始める人も多いだろう。それを機にPC環境もそろそろ大人への階段を上ってもいいかもしれない。ここでは、はてなという企業でプログラマーとして働くあの人の開発環境を紹介することで、プロが好む作業環境を考える。 わたしははてなという企業でプログラマーとして働いています。はてなは、ブログやソーシャルブックマークなどWeb上のサービスを提供する会社ですが、それらのほとんどはPerlで書かれており、LinuxやApache、MySQLをはじめとするオープンソースソフトウェアの上で動作しています。そんな理由から、開発環境も自然とオープンソースのツールを使うことになります。今回から2回に分けて、そんなわたしの開発環境を簡単に紹介させていただきたいと思います。 ノートPC1台で開発する 題のツール類の話に入る前に、開発に使っているハードウェアの話を先にしてお

    ITmedia エンタープライズ:あるWebプログラマーの作業環境――豪傑の三種の神器【前編】 (1/2)
  • 技術メモ帳 - 単語抽出するちょっとしたテクニック

    shell のちょっとしたテクニック - odz buffer odzさんのところで単語の出現頻度を調べるためのワンライナーが紹介されている。 単語抽出についてはいくつかやり方があるので紹介する。 特に egrep -o は非常に実用的。 もちろん、この話はリンク先において主題ではない。 俺のただの自己満足。 tr -cs で単語抽出 $ tr -cs 'a-zA-Z' '\n' < ./.zshrc 上記コマンドで、a-zA-Zのみで構成される文字列を抽出できる。 -c オプションで、'a-zA-Z' の補集合(以外)を '\n' に変換し、 -s オプションで、最後の引数で指定される要素の重複を除去している。すなわち '\n' の連続を除去している。 grep -o で単語抽出 grepには、( -o、--only-matching ) オプションというのがある。 これは、指定された正

  • shell のちょっとしたテクニック - odz buffer

    後輩が cat README | tr ' ' '\n' | sort | uniq -c | sort -nr | head てなテクニックを見て、びっくりしたみたいな話をしていたのだが、こういうパイプラインを利用するテクニックを学んでいないのは色々損な気がする。 ていうか、サーバで丸一日以上かかるような処理を実行するのもしょっちゅうなのに、GNU screen も nohup も知らないってのはいろいろ支障があるような気もするのだが、だれも教えないものかなぁ。 ということで、bash or zsh のちょっとしたテクニックとか*1。リダイレクトとかパイプラインは略。 連続実行 単純に連続実行。 % foo; barfoo が正常終了したときだけ bar を実行 % foo && barfoo が正常終了しなかったときだけ bar を実行 % foo || bar&&、||は来は論理演

    shell のちょっとしたテクニック - odz buffer
  • Geekなぺーじ:10のUNIX小技

    IBMのサイトで「Learn 10 good UNIX usage habits」という記事が発表されていました。 面白かったので要約してみました。 変な部分があるかも知れないので詳細は原文をご覧下さい。 原文とは一部異なります。 ページスペースなどの関係でコマンド引数などを短く省略しています。 原文のサンプルコマンドが間違っていたりするので、修正している部分もあります。 原文を修正しているのは、tar.gzをzオプションを使わないでxfvしようとしているところと、xargsにlsではなくls -lを渡している部分です。 あと、説明文を短くしてしまっています。 1. ディレクトリの作成 良く使うコマンドの一つであるmkdirですが、面倒臭い使い方をしていませんか? 悪い例 ~/ $ mkdir a ~/ $ cd a ~/a $ mkdir b ~/a $ cd b ~/a/b/ $ m

  • cron(crontab)で月末で指定する方法 - ぎじゅっやさん

  • UNIXコマンドリファレンス

    インターネットへ接続_________ TOPページ(Alt+B) UNIXコマンドリファレンス ディレクトリ操作系 cd  ls  mkdir  pwd  rmdir ファイル操作系 cat  more  less  head  tail  sort  uniq  grep  wc  diff  chown  chgrp  chmod  compress  uncompress  gzip  gunzip  zcat  tar  split  ln  find  cp  mcopy  mdel  mv  rm  touch  nkf  |  >  <  >>  >&  tee システム管理系 which  jobs  sleep  date  cal  whoami  groups  id  w  finger  chfn  history  alias  unalias  type 

  • サービス終了のお知らせ

    サービス終了のお知らせ いつもYahoo! JAPANのサービスをご利用いただき誠にありがとうございます。 お客様がアクセスされたサービスは日までにサービスを終了いたしました。 今後ともYahoo! JAPANのサービスをご愛顧くださいますよう、よろしくお願いいたします。

  • 技術メモ帳: [unix]複数のファイルの名前をまとめて変更する

    複数のファイルの名前を変更する際に、 便利なコマンドというものがある。 いくつかご紹介させていただこう。 カレントディレクトリにあるファイルの名前を、 たとえば、*.html を *.htm と名前を変更するという課題に対し どのぐらいエレガントに書けるかというのを比較してみる。 まず、普通にやったらどうだろう。 おそらく、for文 をつかうことだろう。 for file in *.html do base=`basename $file .html` mv $base.html $base.htm; done; zshだともうちょっとスマートにかけて、 for file in *.html do mv $file:r.html $file:r.html; done; こんな具合。 for文 が嫌いなネット右翼のために、 xargs を使ってこの問題を解いてみよう。 ls -1 *.htm

  • 技術メモ帳 - pgrep, pkill を使用してプロセスを殺す

    最近、会社でシェルの操作方法について教えているのだが、 pgrep / pkill / skill / pidof といった 便利なプロセス操作系コマンドを知らない人が実に多い。 プロセスを殺すというのは、よくある作業なので 今回はコレについて書いてみる。 たとえば、これらのコマンドを知らない人が、 指定した名前のプロセスを kill する手順はだいたい 以下のようなものになることだろう。 $ ps aux | grep プロセス名 | grep -v 'grep' # コマンドの出力結果から pid を目で確認 12345 ... .. hoge .. .. $ kill 12345 この作業は非常に面倒で退屈だ。 もし殺さなければならないプロセスがたくさんあったときは どうするのだろうか。 おまけに、grep コマンド自身が候補に含まれてしまう事があるのだが、 grep -v grep

  • 日本IBM

    ワークプレイスを最適化し、虎ノ門に社を移転 日IBMは、2024年1月に、虎ノ門・神谷町エリアに事業所を新設し、そこに社を移転します。 ニュースリリース watsonx Graniteモデル・シリーズ、IBM watsonxモデル向けお客様保障の提供開始を発表 IBM TechXchange Conference Japan(2023年10月31日~11月1日) 無料評価版:エンタープライズ・グレードのAIモデルを構築 無料評価版:あらゆるデータを対象に、AIワークロードを拡張 SPSS Statisticsの年間サブスクリプション選択で10%割引 ストレージの構成比較から見積までを簡単に

    日本IBM
  • UNIX使いのパフォーマンスをあげる小技コマンド | I D E A * I D E A

    各所で話題ですが、やっぱり便利なのでメモ書きも兼ねてエントリー。 IBMにて「UNIX productivity tips」が紹介されています。いくつかありますが個人的にささったものをご紹介。 » UNIX productivity tips。IBMさんにはいい記事多いですね。 ■ よく使うコマンドを知るべし! 以下のコマンドでhistoryを頻出順に並び替えてくれます。 history|awk '{print $2}'|awk 'BEGIN {FS="|"} {print $1}'|sort|uniq -c|sort -r 僕の場合の結果。 163 ls 115 chmod 82 cd 54 ll 36 exit 35 su 25 vi 21 mkdir 21 less 17 mysql 14 rm 14 crontab 12 /usr/bin/php 10 pwd 9 iconv 7

    UNIX使いのパフォーマンスをあげる小技コマンド | I D E A * I D E A
    Yuhto
    Yuhto 2006/09/24
  • シェルスクリプト(Bash)

    シェルスクリプトとはコマンドやシェルの組み込みコマンドなどをファイルに記述し、実行できるようにしたものである。 またプログラムの制御構造なども使用でき、柔軟な処理が可能であり、/etc/rc.d/initd/ディレクトリ内の起動スクリプトなどはシェルスクリプトである。 シェルスクリプトを実行するには実行権限および読み込み権限が必要です。 またシェルスクリプトファイルの1行目にはシェルスクリプトを実行するシェルのパスを記述します。 スクリプトファイル内でも、シェル変数を定義することができる。またその変数を参照する場合は変数名の前に" $ "を 付けることで参照できる。変数名に使用できる文字は英数字および" _ "(アンダーバー)であり先頭は英字を使用しなくてはならない。