2013-02-08 44 views
0

我正在使用bash脚本,我必须将文件的最后n-2行存储在变量中。 我使用这个命令是在bash变量中打印格式化输出

last_n2_lines=`tail -n+3 $file` 

现在,每当我回显$ last_n2_lines变量,我得到了一个单行的我的文件中的所有行。我如何获得与原始文件中相同的格式。我尝试了printf,但它只是打印第一个字段。

回答

2

试试这个:

echo "$last_n2_lines" 

echo没有看到原始值在你的变种,因为它分解为argv阵列。

+0

哦,现在我明白了。谢啦 !! – 2013-02-08 13:14:17

+0

&补充说,这不是回声的错。这是shell扩展变量的方式。用双引号,echo收到一个参数,它保存整个数据。当变量包含^ L字符时, – anishsane 2013-02-08 13:25:31

+0

确实会回应做任何有趣的事情。 – 2013-02-10 08:44:44