我有一个test.sh
通过文本文件 awks 的文件test.bed
:
1 31 431
1 14 1234
1 54 134
2 435 314
2 314 414
Run Code Online (Sandbox Code Playgroud)
和
while read line;do
echo $line
# ... more code ... #
done < <(awk -F '\t' '$1 == 1 {print $0}' test.bed )
Run Code Online (Sandbox Code Playgroud)
用bash test.sh
作品运行它,但sh test.sh
它会产生语法错误。我怎么能用sh
而不是做上面的事情bash
?
它给出的错误是
test.sh: line 5: syntax error near unexpected token `<'
test.sh: line 5: `done < <(awk -F '\t' '$1 == 1 {print $0}' test.bed )'
Run Code Online (Sandbox Code Playgroud)
进程替换是一个bash
扩展 - 未由POSIX
. 这个sh
兼容..
#!/bin/sh
awk -F '\t' '$1 == 1 {print $0}' test.bed | while read line; do
echo $line
# ... more code ... #
done
Run Code Online (Sandbox Code Playgroud)