このエントリーをはてなブックマークに追加


aliasコマンドを使用して改行コード変換コマンドを登録する・perl使用

コマンド名を別名で登録できるaliasコマンドとperlを使用して改行コードを変換するコマンドを登録してみます。


関連記事

perlによる改行コードの変換

以下にperlを使用してCRLFからLFに改行コードを変換する構文とLFからCRLFに変換する例を記します。

  • 改行コードをLFからCRLFに変換
    perl -pe 's/\n/\r\n/' 入力ファイル名 > 出力ファイル名
  • 改行コードをCRLFからLFに変換
    perl -pe 's/\r\n/\n/' 入力ファイル名 > 出力ファイル名

aliasを使用して改行コードコマンドを登録する

以下のようにaliasコマンドを使用することによりperl1行スクリプトをlfcrlf, crlf2lfというコマンド名で登録することができます。

alias lf2crlf="perl -pe 's/\n/\r\n/'"
alias crlf2lf="perl -pe 's/\r\n/\n/'"

上記の2行を端末で実行することにより、lf2crlf, crlf2lfがコマンドとして登録されます。
実際に使用したときの出力結果です。

aliasコマンドでperl1行スクリプトを別名登録しています。

$ alias lf2crlf="perl -pe 's/\n/\r\n/'"
$ alias crlf2lf="perl -pe 's/\r\n/\n/'"

最初に使用するhello.lfをcat -vオプションで出力しています。(改行コードがLFであることを確認)

$ cat -v hello.lf
hello
world

lf2crlfコマンドで改行コードLFをCRLFに変換しています。

$ lf2crlf hello.lf > hello.crlf

変換したファイルをcat -vオプションで表示すると^Mが表示されたので、CRLFに変換されたのが確認できます。

$ cat -v hello.crlf
hello^M
world^M

上記でCRLFに変換したファイルを使用し、再度LFに戻しています。

$ crlf2lf hello.crlf > hello.lf2
$ cat -v hello.lf2
hello
world

cat -vに関しては以下の記事を参考にしてください。

.bashrcに登録する

上記で別名登録したperl一行スクリプトを.bashrc(.bash_profile)に登録すれば、毎回端末を起動する毎にaliasコマンドを実行する必要はありません。
よく使うようであれば.bashrc(.bash_profile)に登録することをお薦めします。

  • .bashrcの抜粋
    $ cat .bashrc 
    # .bashrc
    
    # Source global definitions
    if [ -f /etc/bashrc ]; then
            . /etc/bashrc
    fi
    
    # User specific aliases and functions
    
    <snip>
    
    alias lf2crlf="perl -pe 's/\n/\r\n/'"
    alias crlf2lf="perl -pe 's/\r\n/\n/'"


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:29:56