Linuxでのシェルスクリプトの標準入力の使い方と応用例

シェルスクリプトはLinuxでの自動化作業の主要な手段となっています。特に標準入力を上手く利用することで、より複雑な処理や柔軟なスクリプトの作成が可能になります。この記事では、シェルスクリプトの標準入力の基本的な使い方から、その応用例までを詳しく解説していきます。

目次

シェルスクリプトの標準入力とは

シェルスクリプトの標準入力は、コマンドやスクリプトがデータを受け取る一つの方法です。キーボードやファイル、他のコマンドの出力など、さまざまなソースからデータを受け取ることができます。

基本的な使い方

以下は、シェルスクリプト内で標準入力を読み取る基本的な方法です。

#!/bin/bash

while read line; do
    echo "入力された行: $line"
done

このスクリプトは、ユーザーからの入力を1行ずつ読み取り、その都度エコーバックします。

応用例

1. ファイルの内容を行番号付きで表示

以下のコードは、標準入力から受け取ったファイルの内容を、行番号付きで表示します。

#!/bin/bash

lineno=1
while read line; do
    echo "$lineno: $line"
    ((lineno++))
done

2. フィルタリング

標準入力から受け取ったデータに対して特定の条件でフィルタリングする例です。

#!/bin/bash

while read line; do
    if [[ $line =~ "error" ]]; then
        echo "$line"
    fi
done

3. 2つのファイルの内容を比較

2つのファイルの内容が同じかどうかを確認するスクリプトです。

#!/bin/bash
file1=$1
file2=$2
diff <(cat $file1) <(cat $file2) >/dev/null
if [ $? -eq 0 ]; then
    echo "内容は同じです。"
else
    echo "内容が異なります。"
fi

4. テキストの変換

標準入力から受け取ったテキストを大文字に変換するスクリプトです。

#!/bin/bash

while read line; do
    echo "$line" | tr 'a-z' 'A-Z'
done

まとめ

Linuxのシェルスクリプトでの標準入力の利用方法には多くの可能性があります。基本的な使い方から応用例まで、独自のニーズに合わせてカスタマイズすることで、効率的な作業を実現することができます。今回の記事を参考に、シェルスクリプトのスキルアップを図ってみてください。

created by Rinker
オライリージャパン
¥3,080 (2024/10/05 14:08:05時点 Amazon調べ-詳細)

コメント

コメントする

目次