awk 打印以空格分隔的列

Aqu*_*ius 1 linux awk shell-script

我在目录中有如下所示的 *.dat 文件:

$ cat holiday_us.dat
20210101 1     New Year's Day
20210102 2     Labor Day
20210103 1     Independence Day
Run Code Online (Sandbox Code Playgroud)

我想要的输出:

20210101_New Year'sDay
20210102_LaborDay
20210103_IndependenceDay
Run Code Online (Sandbox Code Playgroud)

我试过的代码:

for file in /home/path/holly*.dat
do 
awk -f ' ' '{print $1,"_",print$2}' "$file"
done
}
Run Code Online (Sandbox Code Playgroud)

我得到低于输出:

20210101
New
20210102
Labor
20210103
Independence
Run Code Online (Sandbox Code Playgroud)

Fre*_*ddy 7

将输出字段分隔符更改OFS为空(空)字符串并更改$2_

$ awk -v OFS= '{ $2="_" }1' *.dat
20210101_NewYear'sDay
20210102_LaborDay
20210103_IndependenceDay
Run Code Online (Sandbox Code Playgroud)