プログラミングtips

基本的なお役立ち情報 とか.主にCとPerl.

[Linux] シェルから拡張子を取り除いたファイル名を取得する(Bash)

  • abc.txt から abc のみを得たい場合
  • ワイルドカードを利用したforループをするとき等に便利
  • 例: カレントディレクトリに「abc.txt」「def.txt」「ghi.txt」が存在する場合
    $ for file in *.txt
    > do
    > echo ${file%.*}
    > done
    変数名の隣に「%.*」を加えることで拡張子を取り除くことができる
    abc
    def
    ghi
  • 参考: bashスクリプトだけで、ファイル名、拡張子を取得する - 作業ノート : http://d.hatena.ne.jp/te2u/20090327/p1

[C] Windows x64 + MinGW + gcc で long double の挙動がおかしい?

  • MinGW + gcc 環境で,long double 型の変数を printf するとおかしい数値が表示される問題.( 19690185614481596000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000.000000とか)
  • 原因は MinGW が Microsoft の msvcrt.dll に依存していて,long double を double と同じビット数であると認識してしまうことによるもの.
  • 解決策として,printf を __mingw_printf に書き換えればOK
    #define printf __mingw_printf
    とする.
  • 参考: c - printf and long double - Stack Overflow : http://stackoverflow.com/questions/4089174/printf-and-long-double

[Others][Lisp] xyzzy でバックアップファイルをひとまとめにする

  • 愛用テキストエディタのxyzzy http://www.jsdlab.co.jp/~kamei/ について
  • バックアップファイルを自動で作ってくれるが,デフォルトの状態だとソースファイルと同じディレクトリにバックアップを作ってしまう
  • これを一つのディレクトリにまとめられればディレクトリの中身がすっきり
    ;バックアップ - 外部 lisp は不要
    (require "backup") 
    (setq *hierarchic-backup-directory* t)
    
    ;バックアップを取る場所を指定 in .xyzzy
    (setq *backup-directory* "C:/backup/")
    とする. ちなみに,上記設定ではソースまでのディレクトリ階層もミラーリングするため,それが嫌な人は
    (setq *hierarchic-backup-directory* nil)
    とすればよい.
  • 参考: 初心者による xyzzy 設定紹介 その1 - 教えて!Turing先生 : http://d.hatena.ne.jp/turing_pattern/20080630/1214838334
トップ   一覧 単語検索 最終更新   ヘルプ   最終更新のRSS