假设我的文件file1.txt
名为1,2,3.. upto 100 linewise.
$> head -n 5 file1.txt //will display first 5 lines i.e. 1,2,3,4,5
$> tail -n 5 file1.txt // will display last 5 lines i.e. 96,97,98,99,100
我想在 1 个命令中将内容显示为前 5 行和后 5 行,
$> head tail -n 5 file1.txt // Something like this 1,2,3,4,5 96,97,98,99,100 (both together)
我怎样才能做到这一点?
您可以在 bash 中使用花括号来组合多个命令,并将它们的stdout和stderr组合起来:
请注意,大括号和包含在其中的命令之间有空格字符。那是因为
{
and}
是这里的保留字(shell 内置的命令)。它们意味着将所有这些命令的输出组合在一起。另请注意,命令列表必须以分号 (
;
) 结尾。如果你想为这样的命令组合创建一个“别名”,你可以在你的文件中创建一个函数(一个简单的Bash 别名不起作用),
.bash_aliases
如下所示:你可以像这样调用这个函数,例如:
在上面的示例中,如果
file1.txt
is 至少有 6 行,您将获得命令的12
输出wc
。在子shell中处理: