为什么在 shell 脚本输出文件中写成单行?

2023-12-12

输入文件:ankit.txt,包含标题日期和预告片计数

H2014-12-02
12ASDF23 FGHJ HJKL
123ASD23 FGHJ HJKL
123ASD23 FGHJ HJKL
123ASD23 FGHJ HJKL
T000004

我想要没有标题和预告片的数据。

Command:

head -n -1 ankit.txt | tail -n +2 >output

在 shell 脚本中

echo `head -n -1 ankit.txt | tail -n +2` >output

Iutput:

12ASDF23 FGHJ HJKL 123ASD23 FGHJ HJKL 123ASD23 FGHJ HJKL 123ASD23 FGHJ HJKL

输出为单行...(我不想要的)

我尝试在 shell 脚本中简单地给出 cat 命令,但显示的数据也是单行

我在 shell 脚本中尝试了相同的命令,但没有 echo。

即使我保留了 1 个命令来通过 shell 脚本显示输出:

cat ankit.txt

输出是单行。 wc -l 给出正确的计数,但简单的 cp 也给出单行输出。

cp ankit.txt output

Using

echo `command`

不仅浪费,它还会对输出执行空格分割和全局扩展command在将其传递给之前echo。通常你只是想要

command

或者,如果您坚持进行进程替换,并希望保留其输出,请将其放在双引号中:

echo "$(command)"

(另请注意切换到现代的、推荐的进程替换语法。)

但说实话,你为什么想要那个?如果你真的这样做,那不是更好吗?

echo "$(echo "$(echo "$(echo "$(echo ...
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么在 shell 脚本输出文件中写成单行? 的相关文章

随机推荐