用bash读取文本文件的前8个字符

时间:2013-01-16 17:39:52

标签: file bash character

我想只读取文本文件的前8个字符并将其保存到bash中的变量中。有没有办法只使用bash来做到这一点?

3 个答案:

答案 0 :(得分:52)

您可以要求head读取多个字节。对于您的特定情况:

$ head -c 8 <file>

或在变量中:

foo=$(head -c 8 <file>)

答案 1 :(得分:6)

在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

as,在bash中,“|”之后的部分在子shell中运行:“变量”只会在子shell中更改,并且在返回到当前shell时会丢失新值。

答案 2 :(得分:1)

您可以在bash中使用数组并仅选择第一个字符。高级Bash脚本指南提供了如何使用数组的好例子。