Awk 向文件添加hashtag

Awk 向文件添加hashtag,awk,Awk,我有一个awk程序add_hashtag.awk BEGIN{printf("#")}1 还有一个bash程序 for file in *.asc; do awk -f add_hashtag.awk "$file" > "$file"_in; done 将hashtag添加到文件中。它的工作,但是,我想得到相同名称的文件。当我跑的时候 for file in *.asc; do awk -f add_hashtag.awk "$file" > "$file"; done 我只

我有一个awk程序add_hashtag.awk

BEGIN{printf("#")}1
还有一个bash程序

for file in *.asc; do awk -f add_hashtag.awk "$file" > "$file"_in; done
将hashtag添加到文件中。它的工作,但是,我想得到相同名称的文件。当我跑的时候

for file in *.asc; do awk -f add_hashtag.awk "$file" > "$file"; done
我只能用#获取文件。
怎么做?谢谢

请尝试以下内容

for file in *.asc; do awk -f add_hashtag.awk "$file" > "temp_file" && mv "temp_file" "$file"; done
我使用的方法是为输出创建一个
temp_文件
,然后将其重命名为Input_文件,这样就不会有丢失或截断实际输入_文件的危险。此外,除非
awk
命令成功(使用
&&
),否则它不会将临时文件重命名为实际输入文件



使用
gawk
4.1.0版左右,请尝试(由于未提供任何样本,因此未对其进行测试):

或者,如果您希望在备份文件的同时插入编辑文件:

awk -i inplace -v INPLACE_SUFFIX=.backup -f add_hashtag.awk *.asc

你能试试下面的吗

for file in *.asc; do awk -f add_hashtag.awk "$file" > "temp_file" && mv "temp_file" "$file"; done
我使用的方法是为输出创建一个
temp_文件
,然后将其重命名为Input_文件,这样就不会有丢失或截断实际输入_文件的危险。此外,除非
awk
命令成功(使用
&&
),否则它不会将临时文件重命名为实际输入文件



使用
gawk
4.1.0版左右,请尝试(由于未提供任何样本,因此未对其进行测试):

或者,如果您希望在备份文件的同时插入编辑文件:

awk -i inplace -v INPLACE_SUFFIX=.backup -f add_hashtag.awk *.asc
awk-f add_hashtag.awk“$file”>“$file”
将有效地将“$file”截断为零长度
awk-f add_hashtag.awk“$file”>“$file”
将有效地将“$file”截断为零长度