1
我有一個spec.txt,如下所示,可以運行「cat spec .txt | cut -d「|」-f 2「在linux shell中。是執行linux命令的任何方式,如下所示:「exec cat spec.txt | cut -d」|「-f 2」in tclsh
[email protected]:~/auto/acpi6/main/spec$ cat spec.txt
a1 | BMC_HEALTH | 0x0 | discrete | 0x0000| na | na | na | na | na | na
[email protected]:~/auto/acpi6/main/spec$ cat spec.txt | cut -d "|" -f 2
BMC_HEALTH
- >爲什麼它不能運行的
"exec cat spec.txt | cut -d "|" -f 2" in tclsh
% exec cat spec.txt | cut -d "|" -f 2
couldn't execute "-f": no such file or directory
可能是「around |?」有問題試過了嗎?(如\「| \」) –
您是否考慮過在Tcl中編寫解析代碼而不是開始一個新程序?管道字符對於Tcl exec命令並且不能被轉義 –
這是'exec'中經典的棘手案例之一,沒有好的方法來引用它,*我們知道這是一個問題*。沒有好的方法來修復它,更常見的用例更糟糕,所以我們一直在擔心它,而不是修復它。 –