我只想读取文本文件的前8个字符,并将其保存到bash中的一个变量中。是否有一种方法可以使用bash来做到这一点?
您可以要求head
读取一些字节。对于您的特殊情况:
$ head -c 8 <file>
或者在变量中:
foo=$(head -c 8 <file>)
in 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中,"|"后面的部分是在子shell中运行的:"variable"只会在该子shell中被更改,当返回到当前shell时,它的新值将丢失。
您可以在bash中使用数组并只选择第一个字符。