我必须只在第一行将大写字母转换为小写字母,并且更改必须影响文本,不仅打印出好的结果。
文字示例:
阿塞拜疆
乙
C
结果:
阿塞拜疆
乙
ç
谢谢
答案 0 :(得分:1)
假设当前目录中存在名为file
的文件,并假设该文件的内容为:
AzE
B
C
并假设您只想将第一行转换为小写,正如问题标题所示,以下命令将打印出您想要的内容:
head -n1 file |tr '[A-Z]' '[a-z]'; tail -n -2 file
结果是:
aze
B
C
文件的第一行由head
提取,并通过tr
过滤;结果在屏幕上输出。然后,tail
命令用于打印文件的其余部分。
如果要写入另一个文件,则必须将这两个命令作为单个命令执行,并重定向整个“复合”命令,如下所示:
(head -n1 file |tr '[A-Z]' '[a-z]'; tail -n -2 file) >file2
请记住不重定向到您正在阅读的同一个文件...它将无效。
希望这有帮助。