我正在使用此命令
sed ':a ;{N;/\n/,/};ba'
它在正则表达式中显示错误。请帮助识别此问题。
完整命令
SAMPLE_LIST=$ (ls*fastq.gz| awk -F"_" '{print $1}' | sort | uniq | sed ':a ;{N;/\n/,/};ba')
错误 bash:意外令牌'('
附近的语法错误类似地,另一个命令。
FILE_List= $(ls merged_reads2/*/*join.fastq | sed ' :a ; {N;/\n/,/};ba')
错误 sed:-e表达式1,字符19:未终止的地址正则表达式
答案 0 :(得分:0)
在第一种情况下,由于$
和(
之间的间隔,bash在sed不能执行任何操作之前就失败了。 (ls
之后也缺少空格。)
sed命令毫无意义:a1,a2
是引入“地址范围”的语法。地址可以是一个匹配项,因此/\n/
是一个匹配项(永远不会匹配,因为换行符不是sed所匹配的行内容的一部分),但是/
不是有效地址。您要匹配什么?