sed错误行地址0的使用无效

sed错误行地址0的使用无效,sed,Sed,我使用sed用于: RUN=${SLURM_ARRAY_TASK_ID} INPUT_DIR=/path OUTPUT_DIR=/path INPUT_FILE=$(ls $INPUT_DIR/*.txt | sed -n ${RUN}p) SAMPLE=$(basename "$INPUT_FILE" .txt) echo "RUN #${RUN} with sample ${SAMPLE}" 但它给出了行的错误: INPUT_FILE=$(ls $

我使用sed用于:

RUN=${SLURM_ARRAY_TASK_ID}
INPUT_DIR=/path
OUTPUT_DIR=/path
INPUT_FILE=$(ls $INPUT_DIR/*.txt | sed -n ${RUN}p)
SAMPLE=$(basename "$INPUT_FILE" .txt)
echo "RUN #${RUN} with sample ${SAMPLE}"
但它给出了行的错误:

 INPUT_FILE=$(ls $INPUT_DIR/*.txt | sed -n ${RUN}p):
sed: -e expression #1, char 3: invalid usage of line address 0

它以前工作得很好,但现在出现了一个错误。如果有人能帮我解决,我将不胜感激。谢谢大家!

您的
$RUN
为零,请在您的
sed
命令上方执行echo$RUN一行以进行验证。请注意:在中,将
sed
语法与shell语法分开是一件好事。可能是sed-n“${RUN}p”)?祝你好运。
SLURM\u ARRAY\u TASK\u ID
的值是多少?你想做什么(比如
find/path-name“*${SLURM\u ARRAY\u TASK\u ID}*.txt-printf%f
)?将您的代码复制/粘贴到中,并修复它告诉您的问题作为起点。此外,用户定义的变量名也不要使用全大写,以避免与内置变量名冲突并混淆代码。