Unixファイル名の最初の5文字を​​取得します。

Unixファイル名の最初の5文字を​​取得します。

以下のUnixファイル名があり、ファイル名の最初の5文字を​​抽出する必要があります。カットを使用してフィールドの内容を抽出できることを知っていますが、ファイルの最初の5文字を​​取得しようとしています。

abc12345
def12345
ghi12345

私の予想結果は次のとおりです。

abc12
def12
ghi12

答え1

シェルの文字列操作機能の使用

どのスクリプトコンテキストで使用するかを指定していないので、一般的な例を見てみましょう。

シェル変数が$x文字列を保持していると仮定するabc12345と、${x:0:5}これは最初の5文字を​​表します。$xつまり、abc12

答え2

Posix互換は、cut文字(またはUTF-8では同じではないバイト)で切り捨てることもできます。

cut -c-5

または

cut -b-5

それぞれ

答え3

ファイル名の最初の5文字が欲しいとしましょう。
文字はcut通常バイト数が減るため動作しません。ただし、正確に5文字であれば、
次のようにPOSIX移植性を使用できます。${var#?????}

filename='def12345'
result=${filename%"${filename#?????}"}
echo "$result"

関連情報