大写在Unix中文本文件的第二列
我有一个三列的txt文件。第二列如下所示(每个字母是该列的一行):大写在Unix中文本文件的第二列,unix,uppercase,Unix,Uppercase,我有一个三列的txt文件。第二列如下所示(每个字母是该列的一行): a t c a a t 在Unix中,我需要将第二列大写,但不知道如何(应该使用命令:|tr[a-z][a-z])。您能帮助我吗 awk '{$2 = toupper($2)}1' input-file 使用tr很难做到这一点,因为tr会不加区别地更改输入的每个字符。但您可以使用tr来使用类似以下内容的大写字母: awk '{c="tr [a-z] [A-Z]"; printf "%s%c&qu
awk '{$2 = toupper($2)}1' input-file
使用tr
很难做到这一点,因为tr
会不加区别地更改输入的每个字符。但您可以使用tr
来使用类似以下内容的大写字母:
awk '{c="tr [a-z] [A-Z]"; printf "%s%c", $1, OFS;
printf "%s", $2 | c; close c; print OFS $3}' input-file
或者,如果您使用的是bash,并且输入文件由制表符分隔:
paste <(cut -f 1 input) <(tr [a-z] [A-Z] < input | cut -f 2) <(cut -f 3 input)
粘贴