我想在 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