我一直在试用几个命令,比如
dd if=*.xml of=*.xml conv=lcase
将我文件夹中所有xml文件的所有内容扩展为小写。文件夹文件名已经是小写的,我正在尝试将所有实际内容更改为小写。
有人可以发布命令来执行此操作或告诉我我做错了什么吗?谢谢!
答案 0 :(得分:2)
使用sed
编辑文件,这样可以避免编写循环。
sed -ri 's/.+/\L\0/' *.xml
答案 1 :(得分:1)
for i in *.xml; do tr A-Z a-z < $i > tmp && mv tmp $i; done
如果您的文件名包含不常见的字符(空格,换行符,控制字符等),您可能需要引用“$ i”,但由于您说这些名称都是小写的,我假设没有必要。
答案 2 :(得分:1)
我会选择:
sed -ie 's/\(.*\)/\L\1/' *.xml
我看到您已使用ssh标记了您的问题。你没有指定它,但这是否意味着你想在ssh命令结束时运行这个命令?在那种情况下,你需要逃避星号,因为它们应该被远程解释,如下所示:
sed -ie 's/\(.*\)/\L\1/' \*.xml