错误:cut:linux 中的分隔符必须是单个字符

错误:cut:linux 中的分隔符必须是单个字符

我正在尝试从學生資料.txt第二列来自studata1.txt

學生資料.txt

1 a 10
2 b 20
3 c 30

studata1.txt

i si
co oi
me zi

这是我的 bash 文件:

cut -d -f -2 studata.txt >tmp1
cut -d -f 2- studata1.txt > tmp2
paste tmp1 tmp2 > c.txt
cat c.txt

错误:

cut: the delimiter must be a single character

答案1

你需要逃脱当它用作参数时的空间即:

cut -d \  -f -2 studata.txt > tmp1

注意: 后面有两个空格\。第一个空格是转义的,表示选项的参数-d,第二个空格将其与-f选项分隔开。

你也可以把它放在单引号

cut -d ' ' -f -2 studata.txt > tmp1

或之间双引号

cut -d " " -f -2 studata.txt > tmp1

解释可在引用部分Bash 手册

转义符:如何删除单个字符的特殊含义。

单引号:如何抑制对某个字符序列的所有解释。

双引号:如何抑制对某个字符序列的大部分解释。

相关内容