gpt4 book ai didi

linux - 从 Linux 中的文件输入创建新文件

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:04:19 24 4
gpt4 key购买 nike

我在名为 tables.txt 的文件中有一些表名。

表名如下

123_test
123_testing
123_testing_1
234_test
234_testing
234_testing_1

现在我想创建如下文件

测试

123_test
234_test

测试

123_testing
234_testing

testing_1

123_testing_1
234_testing_1

我试过如下

while read -r line ; do 
echo "$line" >> "${line%%_*}.txt"
done < tables.txt

但是我得到了

123.txt

123_test
123_testing
123_testing_1

234.txt

234_test
234_testing
234_testing_1

怎样才能得到正确的结果

最佳答案

您可以使用此 awk 命令来完成这项工作:

awk '{fn=$0; sub(/[^_]*_/, "", fn); print >> fn; close(fn)}' file

sub 函数将删除后跟下划线的非下划线开头的文本。

关于linux - 从 Linux 中的文件输入创建新文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47418684/

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