タイトル、トレーラー、詳細を含むテキストファイルがあります。
フォーマット:
H20161010XXX // record length: 880
D<---details----total length 880--->
D<---details----total length 880--->
T2016101020161010 00004 // record length : 880
「00004」を解析し、これに対していくつかの計算を実行したいと思います。
トレーラーレコードを読みましたが、00004を解析できません。
trailer=`tac $FILE | grep -m 1 '.'`
echo $trailer
count=$(trailer:29:5)
echo $count
出力:
T2016101020161010 00004
00004を選択できません。
00004の開始位置と長さは固定されているため、ハードコードできます。また、変数に保存して算術演算を実行したいと思います。
kshを使ってシェルスクリプトを書いています。とても感謝しています!
答え1
$trailerを取得した後:
count=$(echo $trailer | cut -d' ' -f2)
echo $count
答え2
部分文字列を取得するには、中かっこを使用します。
count=${trailer:29:5}
「${trailer:27:5}」を使用してコピー/貼り付けした例がより正確に見えます。