gpt4 book ai didi

linux - 使用 AWK -Bash 拆分和写入文件

转载 作者:行者123 更新时间:2023-12-01 23:07:20 29 4
gpt4 key购买 nike

INPUT_FILE.txt 位于 c:\Pro\usr\folder1

ABCDEFGH123456
ABCDEFGH123456
ABCDEFGH123456
BBCDEFGH123456
BBCDEFGH123456

在从 c:\Pro\usr\folder2 运行的 .SH 脚本中使用以下 AWK 命令将文件拆分为多个扩展名为 _kg 基于前 8 个字符。

awk '{ F=substr($0,1,8) "_kg" ".txt"; print $0 >> F; close(F) }'  ' "c:\Pro\usr\folder1\input_file.txt" 

这工作正常,但文件正在写入 bash 指向的主要位置。如何将创建的文件路由到另一个位置,例如 c:\Pro\usr\folder3

谢谢

最佳答案

以下 awk 代码可能会帮助您使用 GNU awk 中显示的示例进行相同的编写和测试。

awk -v outPath='c:\\Pro\\usr\\folder3' -v FPAT='^.{8}' '{outFile=($1"_kg.txt");outFile=outPath"\\"outFile;print > (outFile);close(outFile)}' Input_file

说明: 创建一个名为 outPathawk 变量,其中包含示例中 OP 提到的路径。然后设置 FPAT(字段分隔符设置为正则表达式),我在这里创建从第一个字符开始的 8 个字符的字段。在 awk 的主程序中,创建 outFile 变量,其中包含输出文件名(第一个字段后跟 _kg.txt),然后打印整行到输出文件并关闭在后端输出文件以避免“打开的文件太多”错误。

关于linux - 使用 AWK -Bash 拆分和写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70626406/

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