【发布时间】:2020-05-14 04:42:06
【问题描述】:
我是 AWK 的新手。 我试图在名为 names.txt 的文件中格式化名称,以输出以某种方式排列的名称,其中一些大写,然后将输出放入 HTML 表中。见下文。
names.txt
KOVACS PETER
Kiss Roland
Nagy jolan
Lisztes Tibor
Feher aNDRas
Korma Maria
Akarki Jack
运行 AWK 后的名称输出应如下所示。
Kovacs Peter Lisztes Tibor Akarki Jack
Kiss Roland Feher Andras
Nagy Jolan Korma Maria
这是我目前在 trial.awk 文件中编写的 AWK 代码。
BEGIN{
FS=OFS=" ";
}{
s=tolower($0);
split (s, letters, " ");
array[arraylen++] = toupper( substr( letters[1], 1, 1 ) ) substr( letters[1], 2 ) " " toupper( substr( letters[2], 1, 1 ) ) substr( letters[2], 2 );
up=toupper(substr(s,1,1));
small=tolower(substr(s,1,1));
as=sub(/small/, up, s);
}
END{
r=0;
for(rows=1;rows<=3;rows++){
for(columns=r;columns<=r+6;columns+=3){
printf("%s \t ",array[columns]);
}r=r+1;
columns=r;
printf("\n");
}
}
我想如下运行它并将输出重定向到一个 HTML 文件中,每个名称都在一个单独的表格单元格中。剩下的部分是将输出放在 HTML 文件中,否则名称已经按照上面代码中的需要进行了排列和大写。请帮忙。谢谢你。让我们这样做。 awk -f trial.awk names.txt > output.html
需要的是,上面代码的输出使用 AWK 发布到 HTML 文件中,每个名称都放在单独的单元格中。 awk -f trial.awk names.txt > output.html
【问题讨论】: