gpt4 book ai didi

linux - awk 在循环中使用时不打印任何内容

转载 作者:行者123 更新时间:2023-12-03 09:51:27 26 4
gpt4 key购买 nike

<分区>

我有一堆使用 file.1.a.1.txt 格式的文件,如下所示:

A 1
B 2
C 3
D 4

并使用以下命令添加一个包含每个文件名称的新列:

awk '{print FILENAME (NF?"\t":"") $0}' file.1.a.1.txt > file.1.a.1.txt

最终让它们看起来像我想要的那样:

file.1.a.1.txt A 1
file.1.a.1.txt B 2
file.1.a.1.txt C 3
file.1.a.1.txt D 4

但是,我需要在 HPC 上使用 sbatch 提交对多个文件执行此操作。但是当我运行以下作业脚本时:

#!/bin/bash
#<other SBATCH info>
#SBATCH --array=1-10

N=$SLURM_ARRAY_TASK_ID

for j in {a,b,c};
do
for i in {1,2,3}
do awk '{print FILENAME (NF?"\t":"") $0}' file.${N}."$j"."$i".txt > file.${N}."$j"."$i".txt
done
done

awk 正在生成空文件。我试过使用 cat 来调用该文件,然后将其通过管道传输到 awk,但这也没有用。

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com