ファイルの最初の行の最初の4文字を取得して変数に入れる必要があります。

ファイルの最初の行の最初の4文字を取得して変数に入れる必要があります。

このようなファイルがあります。

サンプル1.txt

ABCDE10998909
10898990XYZ
1898772222YGH
8980000000000sihgj

出力:

ABCD

ファイルの最初の行の最初の4文字を取得して変数に入れる必要があります。

ベストアンサー1

使用headcut:

$ variable=$( head -n 1 sample1.txt | cut -c 1-4 )
$ printf 'variable is %s\n' "$variable"
variable is ABCD

を使用して最初の行を抽出し、をhead使用して最初の4文字を切り取りますcut。一部の実装では、cut最初の4つを返すことがあります。バイト最初の4つの代わりに数値(例:GNU cut)。これは、データがマルチバイト文字を使用する場合に影響します。

使用sed:

$ variable=$( sed 's/^\(....\).*/\1/;q' sample1.txt )
$ printf 'variable is %s\n' "$variable"
variable is ABCD

sed最初の行の最初の4文字を使用して置き換え、修正されたsed行を出力して終了します。

最初の行に4文字未満が含まれている場合、両方のバリアントは4文字未満を生成します。

あなたの質問にタグが付けられました。。以前のシェルでは、より現代的で合理的なシェルを使用するのではなく、shバックティック()を使用してコマンドを置き換える必要があります。`...`$(...)

おすすめ記事