45

テキストファイルの最初の8文字だけを読み取り、bashの変数に保存したいと思います。bashだけを使用してこれを行う方法はありますか?

4

3 に答える 3

67

headあなたはバイト数を読むように頼むことができます。あなたの特定の場合:

$ head -c 8 <file>

または変数内:

foo=$(head -c 8 <file>)
于 2013-01-16T17:47:05.727 に答える
7

bashで

help read

あなたはあなたができることがわかるでしょう:

read -r -n 8 variable < .the/file

区切り文字に関係なく、最初の8を読みたい場合は、

IFS= read -r -n 8 variable < .the/file

ただし、使用は避けてください

.... | while IFS= read -r -n 8 variable

として、bashでは、「|」の後の部分 サブシェルで実行されます。「変数」はそのサブシェルでのみ変更され、現在のシェルに戻ると新しい値が失われます。

于 2013-01-16T17:47:34.350 に答える
0

bashで配列を使用して、最初の文字のみを選択できます。Advanced Bash Scriptingガイドには、配列の使用方法の良い例があります。

于 2013-01-16T17:45:16.100 に答える