我正在尝试迭代几行 bash 脚本并回显所有非注释行。
在我的循环中,我有以下命令:
echo $line | cut -d" #" -f1
但是解释器向我抛出以下错误:
cut: bad delimiter
我做错了什么?
最佳答案
如评论中所述,cut
的-d
参数只需要一个字符。尝试使用 nawk
作为示例:
echo $line | nawk 'BEGIN {FS=" #" } ; { print $1 }'
或者只打印不以“#”开头的行,使用grep
:
grep -v " #" <file>
或者只打印以散列开头的行,或者只打印空格和散列,我会使用 Perl:
perl -n -e 'unless (/(\S+)*#/) {print}' <file>
关于bash - Bash shell 中的错误定界符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25319492/