bash – 将CSV文件的第一行更改为全部大写
发布时间:2020-12-15 22:51:24 所属栏目:安全 来源:网络整理
导读:我有一组csv文件,对于每个文件,第一行包含数据集的列名.某些csv文件具有所有大写列名称,其他csv文件具有所有小写列名称.我的问题是如何更改每个csv文件,以便每个文件的第一行(也就是列名称)显示为每列中的所有大写字符串? 我的尝试如下: 首先,我手动检查所
我有一组csv文件,对于每个文件,第一行包含数据集的列名.某些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 说明: $0 = toupper($0)将当前行的值设为UPPER CASE并保存到它. 1 awk在条件方法和行动方面有效,所以我在这里做条件为TRUE而在此处没有提及任何动作,所以默认情况下会打印当前行. 如果您想将输出保存到Input_file本身,请在上面的解决方案后面附加> temp_file&& mv temp_file Input_file.其中Input_file是您要更改或传递给awk的数据文件. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |