タグ

LINUXとbashに関するshuuuuunyのブックマーク (8)

  • なるべく書かないawkの使い方 - ザリガニが見ていた...。

    awkという、古くからのスクリプト言語がある。(1977年生まれ。読み方は「オーク」である。エイ・ダブリュ・ケイではない)man awkをPDFに変換してみると、たったの3ページ強しかない。 $ man -t awk|pstopdf -i -o ~/Downloads/awk.pdf とてもシンプルな言語仕様ではあるが、awkには必要十分な表現力がある。特にテキストを処理する場面においては、最小限のシンプルな記述で、気の利いた処理を素早くこなす。無駄のないawkワンライナーを見ると、ある種の感動を覚える。awk以降に生まれたスクリプト言語は、少なからずawkの影響を受けていると思われる。 awkを知ることで、間違いなく幸福度は上がると思う。いつかきっと「知ってて良かった」と思える時が来るはず。もっともっと、awkを知りたくなってきた。 基動作 awkの基動作は、とってもシンプルである。

    なるべく書かないawkの使い方 - ザリガニが見ていた...。
  • grepした結果をsed(正規表現置換)したかったときにMacだとハマった話 - 憧れ駆動開発

    だいたい基的にLinux前提で書かれている ググってよくみつかるのは以下のワンライナー grep -r hoge * | xargs sed -i "s/hoge/hufa/g" ハマってる話をあまり聞かない限りは、たぶんこれで基的にできるんだろう。 Macだとsedがハマる そもそもMacのsedはBSD経由のsedらしくて、GNU版のsedとは違うらしい。だから -i オプションがつかえなかった。ということでbrewでgnu-sedいれた。port版もちゃんとあるらしい brew install gnu-sedコマンドは gesd になる。あとはgnu-sedなのでいつもどおりなsedが使える。と思う あるプロジェクト以下の文字列を一括変換したかった grep -rl hoge ./ | xargs gsed -e -i "s/hoge/hufa/g"できたし!!!! @xxxxx

    grepした結果をsed(正規表現置換)したかったときにMacだとハマった話 - 憧れ駆動開発
  • findで空のディレクトリを削除する - hogehoge foobar Blog Style Beta

    たくさんあるディレクトリの中からファイルが一つも無いディレクトリ(いわゆる空ディレクトリ)を削除する方法です。 削除する方法としては、findで空ディレクトリを探して、見つかったディレクトリを削除するという方法になります。 空ディレクトリの検索はfindでファイルタイプを指定(-type d) + 空(0byte)のファイルやディレクトリを検索指定(-empty)をします。*1 ディレクトリ削除については、「xargs」「-exec」「-delete」を使う方法があります。 xargsを使用したサンプル find . -type d -empty | xargs rm -rf -execを使用したサンプル find . -type d -empty -exec rm -rf {} \; -deleteを使用したサンプル ※「-delete」オプションはBSD系(FreeBSD,Mac OS

    findで空のディレクトリを削除する - hogehoge foobar Blog Style Beta
  • pgrep, pkillでプロセスをkillする - 右往左往ブログ

    特定のプロセスをkillするときは、いつも以下のようなコマンドを使っていました。 # ps -ef | grep java | grep -v grep root 12927 1 2 15:51 pts/0 00:00:05 java -Xmx64m -jar start.jar # kill 12927 もっといい方法はないのかと思っていたら、pgrepやpkillという方法があるのを知りました。 pgrepは、プロセス名で絞り込んだPIDを表示させることができます。 # pgrep java 12927 -lオプションの場合、コマンドが表示されます。 # pgrep -l java 12927 java ただ、複数のプロセスがある場合は、区別がつきません。 この場合は、-fオプションにより詳細が表示されます。 # pgrep -lf java 12927 java -Xmx64m -j

    pgrep, pkillでプロセスをkillする - 右往左往ブログ
  • Linux上のbashシェルでの実数比較(ファイルから読み込んだ値)がうまくいきません. - Linux(OpenSuse11.4)... - Yahoo!知恵袋

    Linux上のbashシェルでの実数比較 (ファイルから読み込んだ値)がうまくいきません. Linux(OpenSuse11.4)上のbashでシェルを組み, 数値データを書いたファイルを読み込んである値と実数の値を比較し, 条件分岐するというプログラムを作りたいのですが, 「(standard_in) 1: illegal character: ^M」 というエラーが出て、上手く比較が行うことができません. 以下,シェルプログラム #!/bin/sh i=1 while read dum do bc[$i]=$dum i=`expr $i + 1` done < bc_last.dat step=1 max=10000.0 x=`echo "scale=15;if( ${bc[15]} < 10000.0 ) 1 else 0" | bc` echo x= $x if [[ $x -eq

    Linux上のbashシェルでの実数比較(ファイルから読み込んだ値)がうまくいきません. - Linux(OpenSuse11.4)... - Yahoo!知恵袋
    shuuuuuny
    shuuuuuny 2014/09/19
    エラー error
  • PS1とPROMPT_COMMAND, GNU screenでの活用も

    B! 24 0 0 0 前回プロンプトの事を書いたので、 ついでにPROMPT_COMMANDの設定についてメモしておきます。 GNU screenを起動させている時についても。 PROMPT_COMMAND PS1, PS2, PS3, PS4 PS1 PS2 PS3 PS4 PS1とPROMPT_COMMANDの使い分け プロンプトの表示 ターミナルのタイトルバーの表示 GNU screen内での表示 おまけ PROMPT_COMMAND bashにはPROMPT_COMMANDと言うシェル変数があり、この値に指定したコマンドが 各コマンド実行後に処理されます。 PROMPT_COMMAND='echo command finish' としておけば、毎回コマンド実行後にcommand finishが表示されます。 (Enterだけ押した場合にも。) PS1, PS2, PS3, PS4

    PS1とPROMPT_COMMAND, GNU screenでの活用も
  • Linux で科学しよう! - bc

    bc は任意精度の数値を扱うことができる計算言語です。 LinuxMLD 7 には 伝統的な bc を拡張した GNU bc Ver.1.06 が標準インストールされています。 MLD 6 には Disc4 に Ver.1.06 が収録されていますので 追加インストールしてください。 MLD 5 では Ver.1.05a が標準インストールされます。 作者: Philip A. Nelson さん他 ホームページ: http://www.gnu.org/software/bc/bc.html バージョン: 1.06 (2000/09/12) ライセンス: GPL 付属ドキュメント README を読む bc の歴史は古く、Unix Version 7 (1978) のころ、 ベル研の Lorinda Cherry さんが dc (逆ポーランド形式の任意精度計算言語) のフロントエンドとして

  • bash 環境変数とシェル変数 webzoit.net

    環境変数とシェル変数とは UNIX/Linux及びシェルに限らず、他OS環境でも環境変数は利用されますが、シェル(bash)には環境変数の他にシェル変数があり、その環境変数とシェル変数には組み込み環境変数と組み込みshell変数、更に変数と特殊変数があります。 環境変数、シェル変数と言えば、一般には組み込み環境変数と組み込みshell変数を指しますが、他方、これらはユーザー定義ができるので、組み込み変数とはユーザー定義変数ではない環境変数やshell変数を指します。 環境変数とシェル変数のスコープ 尚、組み込み変数は、ログアウト後、再ログインしても常に利用できますが、ユーザー定義の環境変数やshell変数でコマンドラインから設定した変数については、有効な設定ファイルで設定しない限り、ログイン中のみ有効です(再ログイン時には存在しません)。 scriptやshell関数において設定された環境

    bash 環境変数とシェル変数 webzoit.net
  • 1