gpt4 book ai didi

bash - 将 CSV 文件的第一行全部改为大写

转载 作者:行者123 更新时间:2023-11-29 09:01:55 26 4
gpt4 key购买 nike

我有一组 csv 文件,对于每个文件,第一行包含数据集的列名。一些 csv 文件的列名全部大写,其他文件的列名全部小写。我的问题是如何更改每个 csv 文件,以便每个文件的第一行(也称为列名)显示为每列中的所有大写字符串?

我的尝试如下:首先,我手动检查了所有文件,看看哪些文件的列名是大写的和小写的,然后我运行了以下命令:

head -1 uppercase.csv > header.csv
#repeated all commands below for all lowercase files individually
sed -i 1d lowercase.csv
cat header.csv lowercase.csv > lowercase_new.csv
rm lowercase.csv
mv lowercase_new.csv lowercase.csv

我想知道是否有更自动化的方法来执行此操作,而无需手动检查每个文件。

例子:

Dataset1.csv

a b c
x x x

Dataset2.csv

A B C
y y y

如何使 Dataset1.csv 如下所示?

A B C
x x x

最佳答案

遵循简单的 awk 也可能对您有所帮助。

awk 'NR==1{$0=toupper($0)} 1'  Input_file

解释:NR==1:检查这里的条件,如果是第一行则执行以下操作:

$0=toupper($0) 将当前行的值设为大写并保存到它。

1 awk 处理条件方法和操作,所以我在这里使条件为 TRUE,这里没有提及任何操作,因此默认情况下会打印当前行。

如果您想将输出保存到 Input_file 本身,则将以下内容附加到上述解决方案 > temp_file && mv temp_file Input_file。其中 Input_file 是您要更改或传递给 awk 的数据文件。

关于bash - 将 CSV 文件的第一行全部改为大写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48696951/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com