awk - 程序中的字段分隔符发生变化,字段中的字母

awk - 程序中的字段分隔符发生变化,字段中的字母

我想在 awk 中更改 FS,但不要在 BEGIN 中更改。我想打印单词和字母。

awk 'BEGIN{FS=""}{print $1; FS=" ";print $1; FS=""}'

当然不行。有没有什么函数、方法可以显示单词的字母?

答案1

awk 是面向记录的。它不允许在处理同一行时重置 FS。从您编写的代码来看,您希望采用例如以下输入:

First  
Second

您希望看到以下输出:

F
First  
S
Second

使用 awk 实现此目的的一种方法是:

awk '{print substr($1,1,1) ; print $1}' inputfile
F
First
S
Second

相关内容