【发布时间】:2018-03-26 23:58:37
【问题描述】:
我正在尝试将多个 .txt 文件连接成一个 .txt 文件。每个单独的文件有一列有 178 行,并与一个特定的人相关联。我希望连接的文件有三列:人的 ID #;人的会话#;取自单个 .txt 文件的值,例如:
-
所需的输出格式(减去项目符号):
1 1 000 1 1 001 .... 1 1 177 1 2 000 1 2 001 ... 1 2 177 -
我当前的脚本打印带有 ID # 和 session # 的输出仅打印在每个人的 178 行的第一行,其余 177 个值打印到 ID # 下面的第 1 列,例如:
1 1 000 001 002 ... 177 1 2 000 001 002 ... 177 2 1 000 001 ...
我希望在从每个人的个人 .txt 文件中获取的 178 行中的每一行旁边获取 ID # 和 session #,而不仅仅是当前打印的第一行。
代码如下:
for subject in 170; do
for session in 1 2; do
cd ${datadir}
ts_SalienceNetwork=$(cat sub${subject}.txt | awk '{print $1}')
echo -e "${subject}\t${session}\t${ts_SalienceNetwork}" >> concat_data.txt
done
done
【问题讨论】:
-
subject in 170如何在您的输出中打印为 1? -
karakfa,为混乱道歉。它不打印“1”,而是为每个从(170 到 192)获取数据值的单个数据文件打印正确的主题#。
标签: bash awk printing echo cat