小编Que*_*tin的帖子

移动文件描述符的实际用途

根据 bash 手册页:

重定向运算符

   [n]<&digit-
Run Code Online (Sandbox Code Playgroud)

如果未指定,则将文件描述符移动 digit到文件描述符n或标准输入(文件描述符 0)ndigit复制到 后关闭n

将文件描述符“移动”到另一个是什么意思?这种做法的典型情况是什么?

bash io-redirection file-descriptors

16
推荐指数
1
解决办法
3905
查看次数

将双引号外的每个逗号替换为管道

使用 sed,我想用双引号之外的每个逗号替换管道。

这样 .csv 文件中的这一行:

John,Tonny,"345.3435,23",56th Street
Run Code Online (Sandbox Code Playgroud)

将转换为:

John|Tonny|"345.3435,23"|56th Street
Run Code Online (Sandbox Code Playgroud)

你能帮我处理正则表达式吗?

sed regular-expression csv

6
推荐指数
2
解决办法
6559
查看次数

为什么可以在 bash 下引用封闭的 stderr?

我想知道为什么当我们引用关闭的 stderr 时 bash 不显示错误消息。当涉及到其他文件描述符时,如果我们想要复制它们,就必须打开它们。在这种情况下,Stderr 似乎有点特殊:

$ cat file_1
echo Test1 1>&5
$ cat file_2
echo Test2 1>&2

$ ./file_1 5>&-
./file_1: line 1: 5: Bad file descriptor
$ ./file_1 5>&1
Test1
$ ./file_2 2>&-
$ #NO ERROR and no output!
$ ./file_2
Test2
Run Code Online (Sandbox Code Playgroud)

为什么外壳允许它?

shell bash io-redirection file-descriptors stderr

4
推荐指数
1
解决办法
821
查看次数