uspTukubaiコマンドに関する様々な資料がここにあります。

 

 

魂内検索

DOCUMENTS

COMMAND

FORUM

UEC DOCS

VIDEO

 

ABC順リスト |  カテゴリ別リスト

(動画教材準備中)

sb_rtrim

<概要>

sb_rtrim : bashスクリプトの右端余白を除去
       sb_rtrim = shell beautifier for right side triming

<書式>

Usage   : sb_rtrim
Version : Mon Aug  8 13:28:44 JST 2016
          UTF-8

<説明>

標準入力からシェルスクリプトの全体あるいは一部を読み込み、右側の余計な空白(半角・全角)やタブを取り除きます。

<例1>
次のようなスクリプトを読み込ませます。
----------------------------------------------------
[usp@commands64 BIN]$ cat exp1.sh
#!/bin/bash

seq 1 5                         |    <-ここまで空白アリ
awk '{print $1,$1*$1}'          |          <-ここまで空白アリ
awk '{print $1,$2, $2*$1}'      |
cat > hoge
----------------------------------------------------

sb_rtrimを通すと、パイプ横の空白が取れます。
----------------------------------------------------
[usp@commands64 BIN]$ cat exp1.sh | ./sb_rtrim
#!/bin/bash

seq 1 5                         |<-空白が詰まる
awk '{print $1,$1*$1}'          |<-空白が詰まる
awk '{print $1,$2, $2*$1}'      |
cat > hoge
----------------------------------------------------

<例2>

vimから呼び出すことができます。

スクリプト全体を整形するときはvimの画面で以下のように打ちます。
----------------------------------------------
|#!/bin/bash
|
|seq 1 5                         |    <-ここまで空白
|awk '{print $1,$1*$1}'          |          <-ここまで空白
|awk '{print $1,$2, $2*$1}'      |
|cat > hoge
------------------------------------------------

行指定で整形することもできます。vimの画面で以下のように打ちます。
----------------------------------------------
|#!/bin/bash
|
|seq 1 5                         |<-空白が詰まる
|awk '{print $1,$1*$1}'          |<-空白が詰まる
|awk '{print $1,$2, $2*$1}'      |
|cat > hoge
|
|:3,4! sb_rtrim
------------------------------------------------

<例3>

オプションやヒアドキュメントは無視されます。
----------------------------------------------------
[usp@commands64 BIN]$ cat exp2.sh
#!/bin/bash

echo 'hoge
                boke    <-ここまで空白
hoge'

seq 1 5                         |
#1:数字
awk '{print $1,$1*$1}'          |     <-ここまで空白
#1:数字 2:第一フィールドの二乗
awk '{print $1,$2,      \           <-ここまで空白
        $2*$1}'
#1:数字 2:第一フィールドの二乗 3:第一フィールドの三乗

cat << FIN
hoge
                hoge |         <-ここまで空白
hoge
FIN
----------------------------------------------------

適用後
----------------------------------------------------
[usp@commands64 BIN]$ cat exp2.sh
#!/bin/bash

echo 'hoge
                boke    <-とれない
hoge'

seq 1 5                         |
#1:数字
awk '{print $1,$1*$1}'          |<-空白が詰まる
#1:数字 2:第一フィールドの二乗
awk '{print $1,$2,      \           <-とれない
        $2*$1}'
#1:数字 2:第一フィールドの二乗 3:第一フィールドの三乗

cat << FIN
hoge
                hoge |         <-とれない
hoge
FIN
----------------------------------------------------

<バグ>

構文解析を完璧にしているわけではないので、不具合が出ることがあります。

viから呼び出した場合は、エラーのトレース情報でスクリプトが上書きされることがあります。そのような場合はundoしてください。