Linux シェル,ファイルの先頭から、指定したバイト数を取得

スポンサーリンク

鍛錬 148

Linux シェルスクリプト,ファイルの先頭から、指定したバイト数のデータを取得する

ファイルの先頭から指定したバイト数のデータを取得するには、head にオプションの -c を付加して使用します。
 
使用方法は、以下の通りです。

head -c 取得するバイト数 ファイル名

 
シェルスクリプト

以下は、指定したバイト数を、サンプルファイル sample.txt の先頭から取得するシェルスクリプト get_byte.sh です。

#!/bin/sh

FILENAME="/var/tmp/sample.txt"

echo "---------- 先頭から 3 byte 取得 ----------"
tmp=$(head -c 3 $FILENAME)
echo "$tmp"
echo ""

echo "---------- 先頭から 7 byte 取得 ----------"
tmp=$(head -c 7 $FILENAME)
echo "$tmp"
echo ""

echo "---------- 先頭から 12 byte 取得 ----------"
tmp=$(head -c 12 $FILENAME)
echo "$tmp"
echo ""

 
サンプルファイル

以下は、上記のシェルスクリプト get_byte.sh が読み込むサンプルファイル sample.txt です。

123456789
ABCDEFGHI
 

 
実行結果

以下は、上記のシェルスクリプト get_byte.sh を実行しています。
先頭から 12 byte 取得する場合は、1 行目の 9 の後に存在する改行コードを含むため、2 行目の B が 12 byte 目となります。

***@ubuntu:~/***/test/shell$ 
***@ubuntu:~/***/test/shell$ ./get_byte.sh
---------- 先頭から 3 byte 取得 ----------
123

---------- 先頭から 7 byte 取得 ----------
1234567

---------- 先頭から 12 byte 取得 ----------
123456789
AB
タイトルとURLをコピーしました