#navi(../)
* aliasコマンドを使用して改行コード変換コマンドを登録する・perl使用 [#x61909e2]
コマンド名を別名で登録できるaliasコマンドとperlを使用して改行コードを変換するコマンドを登録してみます。

#contents
#htmlinsertpcsp(linux_ads_top.html,linux-sp.html)

* 関連記事 [#je30c772]
-[[改行コードを変更したい>逆引きUNIXコマンド/改行コードを変更したい]]
-[[改行コードの確認方法>逆引きUNIXコマンド/改行コードの確認方法]]
-[[文字コードを調べる・kccコマンド>逆引きUNIXコマンド/文字コードを調べる]]
-[[日本語文字コードを調べる・nkfコマンド>逆引きUNIXコマンド/日本語文字コードを調べる・nkf]]
-[[日本語文字コードの変換を行う・nkfコマンド>逆引きUNIXコマンド/日本語文字コードの変換を行う・nkf]]
-[[aliasで設定したコマンドを一時的に無効にして実行する方法>Linux環境設定/aliasで設定したコマンドを一時的に無効にして実行する方法]]


* perlによる改行コードの変換 [#sa9fa220]
以下にperlを使用してCRLFからLFに改行コードを変換する構文とLFからCRLFに変換する例を記します。
- 改行コードをLFからCRLFに変換
 perl -pe 's/\n/\r\n/' 入力ファイル名 > 出力ファイル名
- 改行コードをCRLFからLFに変換
 perl -pe 's/\r\n/\n/' 入力ファイル名 > 出力ファイル名

* aliasを使用して改行コードコマンドを登録する [#ke92d0d4]
以下のように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に関しては以下の記事を参考にしてください。
-[[改行コードの確認方法>逆引きUNIXコマンド/改行コードの確認方法]]

* .bashrcに登録する [#x2e13652]
上記で別名登録した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/'"

#htmlinsertpcsp(linux_ads_btm.html,linux-sp.html)

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS