gpt4 book ai didi

bash - 打印文件数据内容列明智

转载 作者:行者123 更新时间:2023-12-04 18:35:15 27 4
gpt4 key购买 nike

我有一个制表符分隔文件 file.txt其内容如下:

word11 word12 word13 word14
word21 word22 word23 word24
word31 word32 word33 word34
word41 word42 word43 word44

我想将每一列复制到不同的文件中。例如:
第一个文件将包含:
word11
word21
word31
word41

第二个文件将包含:
word12
word22
word32
word42

我编写了相同的脚本(有 12 列):
for i in {1..12}
do
awk -F "\t" '{print $i}' file.txt > /tmp/output-$i.txt
done

但所有输出文件都包含所有数据:
word11 word12 word13 word14
word21 word22 word23 word24
word31 word32 word33 word34
word41 word42 word43 word44

谢谢您的帮助。

最佳答案

您正在尝试在 Awk 中使用 shell 变量这永远不会奏效。但是你想做的事情完全可以在 Awk 中完成。本身。 for 循环到 NF将解析您的所有列,您不再需要对其进行硬编码。

awk -v FS="\t" '{for (i=1;i<=NF;i++) print $i > ("/tmp/output-"i);}'  file.txt

关于bash - 打印文件数据内容列明智,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48007002/

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