linux中运算符的问题:2>&1 &> 这两个运算符的意思 还有将一行数据用:来分隔如下例

cat /etc/passwd |grep root
将它的结果分用:来他隔,然后输出第一个冒号之前的内容(也就是输出root)怎么实现

2>&1 是将标准出错重定向到标准输出

第二个问题很简单:
使用这个命令就可以实现:

cat /etc/passwd | grep root | cut -d ":" -f1

实现的效果如下:

~$ cat /etc/passwd | grep root | cut -d ":" -f1

root

你是这个意思把?追问

对,就这个意思,还有另外一个&>这个运算符的意思是什么?请救一下。

追答

> 是输出重定向的意思。
> 是以覆盖的方式重定向
>> 是追加的方式重定向。

1代表标准输出,2代表错误信息输出.

&1 就代表的是标准输出。

最后一个& 符号,是后端执行的意思。

我找个例子,你耐心研究一下:

ls han
ls: 无法访问han: 没有那个文件或目录

执行
~$ ls han >1.txt 2>&1

在shell中没有任何显示

此时再执行~$ cat 1.txt
ls: 无法访问han: 没有那个文件或目录

说明错误信息被重定向到1.txt 这个文件中了。

如果不加这个&
ls han >1.txt 2>1

又会多出来一个 1 文件。

cat 1
ls: 无法访问han: 没有那个文件或目录

看到了把。&1 代表逻辑上的标准输出。 不加& ,那就会产生名为的1的文件

温馨提示:内容为网友见解,仅供参考
第1个回答  2012-09-28
问题1答案是:1 --> 表示正确信息输出通道;
2 -->表示错误信息输出通道;
2>&1 表示正确信息和错误信息 都从1通道输出;
&> 与2>&1 的效果一样,写法更简练而已。

问题2答案是:grep "root" /etc/passwd | awk -F: '{print $1}'

linux中运算符的问题:2>&1 &> 这两个运算符的意思 还有将一行数据用...
2>&1 是将标准出错重定向到标准输出 第二个问题很简单:使用这个命令就可以实现:cat \/etc\/passwd | grep root | cut -d ":" -f1 实现的效果如下:~$ cat \/etc\/passwd | grep root | cut -d ":" -f1 root 你是这个意思把?

bat语句中“1>&2”是什么意思?
首先从一个经典问题开始,“1>nul 2>nul”的意思是既屏蔽正常的输出又屏蔽错误的输出,那么我们马上就知道了这里的1代表正常输出(即所谓的“标准输出”--stdout),2代表错误输出(即所谓的“标准错误输出”--stderr)。 1和2其实是句柄stdout和stderr的数字代号,至于什么是句柄,我认为可以理解为某种事物的一种标识,...

c语言位运算符的用法
一个比特(Bit)位只有 0 和 1 两个取值,只有参与&运算的两个位都为 1 时,结果才为 1,否则为 0。例如1&1为 1,0&0为 0,1&0也为 0,这和逻辑运算符&&非常类似。 C语言中不能直接使用二进制,&两边的操作数可以是十进制、八进制、十六进制,它们在内存中最终都是以二进制形式存储,&就是对这些内存中的...

C语言中&= , ?和: 分别是什么意思啊?还有一个&和&&有没有区别啊?求大神...
&=,表示将这个符号左边的数和右边的数做与运算,再把结果赋给左边的数,例如:a &= b相当于 a = a&b。?:是问号表达式,例如 a>b?a:b,意思就是如果a大于b,那么这个表达式的值就是a,否则表达式的值为b。&和&&有区别的,前面一个是按位与,后面一个是逻辑与,例如:1 & 2,这个...

& 和& & 的区别
&&的意思 &&是在编程中使用的一种符号。在Java和PHP,bat,c++,c语言中分别有着不同的含义。1:&&在Java和PHP以及c#中都是逻辑操作符,也叫条件操作符。2:&&在bat中顺序执行多条命令,执行过程中如命令出错则停止执行之后的命令。3:c++中也会用&&来指定一个rvalue的引用类型。4:c语言中&&...

C语言中的=>的含义
&: 在C语言中有两种意思,一种是取地址符,是单目运算符;另一种是位运算符,表示“按位与”,是双目运算符。|: 是位运算符,表示“按位或”。资料扩展1、符号 & 和 | 这两个运算符都是二进制的按位操作符。&: 二进制“与”(都为1时,结果是1,否则是0。),比如:1010 & 1011 = 1010...

Linux有三个查看文件的命令,若希望在查看文件内容过程中可以用光标上...
more命令可以分页查看,less命令可以使用光标向上或向下移动一行。menu命令和查看文件无关。cat 命令用于连接文件并打印到标准输出设备上。cat是concatenate的简写,类似于dos下面的type命令,使用权限为所有使用者。cat file1 >> file2的意思是把 file1 的文档内容输入file2 这个文档里。

verilog拼接符的用法
在Verilog HDL语言有一个特殊的运算符:位拼接运算符{},用这个运算符可以把两个或多个信号的某些位拼接起来进行运算操作。其使用方法如下:即把某些倍号的某些位详细地列出来,中间用逗号分开,最后用大括号括起来表示一个整体信号,例如:也可以写成为:在位拼接表达式中不允许存在没有指明位数的信号。

C语言中逻辑表达式和关系表达式的值为真时,到底是用非0的任何数表示还...
在C语言中,逻辑值“真”用数字1表示,逻辑值“假”是用数字0表示。在c语言中,任何非0数字都能够被系统解释为“逻辑真”。逻辑运算的值也是有两种分别为真和假,C语言中用整型的1和0来表示。其求值规则如下:1、与运算 && 参与运算的两个变量都为真时,结果才为真,否则为假。例如:5>=5 &&...

复合赋值运算符讲解
如在VB中"Dim a,b,c"的逗号就是把多个变量定义为同一类型的变量,在C也一样,如"int a,b,c",这些例子说明逗号用于分隔表达式用。但在C语言中逗号还是一种特殊的运算符,也就是逗号运算符,可以用它将两个或多个表达式连接起来,形成逗号表达式。逗号表达式的一般形式为: 表达式1,表达式2,表达式3……表达式n ...

相似回答