大小写转换linux
linux下的文件夹名字区分大小写。
Linux是严格区分大小写的,这一点和 Windows不一样,所以操作时要注意区分大小写的不同,包括文件名和目录名、命令、命令选项、配置文件设置选项等,linux中需要大写的东西很少,linux中的命令都是小写的。
比如在windows中创建一个大写A的文件夹,再创建一个小写a的文件夹,Windows就会认为这两个文件夹是同一个文件夹,问是否要替换,所以windows是不区分大小写的。
(1)大小写转换linux扩展阅读
Linux一切皆文件
Linux中所有内容都是以文件的形式保存和管理的,硬件设备也是文件,这和 Windows完全不同,Windows是通过设备管理器来管理硬件的。Linux的设备文件保存在/dev/目录中,硬盘文件是/dev/sdla-p],光盘文件是/dev/hdc等。
配置IP时,通过setup工具进入配置界面,当配置完成后setup工具会写到IP的配置文件当中,系统在下一次开机的时候,IP还是跟原来配置的一样,也就是说写入到文件当中的内容是永久保存的。相反,有一些只是通过命令来执行,而没有写入到文件当中,重启之后就不会生效。
‘贰’ 我用虚拟机安装了linux系统之后。键盘大小写转换灯不停闪烁, linux系统也无反应
我菜鸟。。。我猜 对于Linux发行版来说,2.3G会不会太大了?(猜的)
我觉得不是你的虚拟机的问题,而是这个系统哪里安装不对的问题。
我以前也是在VM虚拟机上装的ubuntu10.04与redhat9,就没有这个情况。而且20G会不会有点小(我分了50GB),还有你在新建虚拟机的时候他会提示你选择存储空间动态分配还是什么,反正就是存储空间的组织形式。删了这个虚拟机,重新建一个虚拟机,而且,注意给他分配的内存和CPU(如果是多核的话)别出错,上网查一下再分配。还有安装VMtools是必不可少的。(其实虚拟机里弄Linux远远没有实际中使用Linux有感觉呵呵)
呵呵,最后祝你新的Linux版本安装成功。
‘叁’ linux,编写shell程序,将一个文件名作为程序的参数,把该文件中的英文字母全部转换成大写字母
将文件名作为程序的参数,
这个就是位置变量了哦,比如$1。
如果要将字符转化的话,
就是用tr了转换了,
比如tr
A-Z
a-z
如果楼主不懂的话,
就私下交流了。
当然,
以后要是遇到了Linux服务器的问题,
shell编程问题,
linux系统管理,
等等的问题,
也都可以一起研究啊!
‘肆’ linux 写一个大小写同时转换的程序
如果没有指定命令行参数,则直接退出。 如果指定了命令行参数,就把该文件的英文字母转化为大写保存在.caps文件中。支持同时多个参数。 代码如下。 #!/bin/bashif [ $# -eq 0 ]then exit 0fiupper(){ tr '[a-z]' '[A-Z]' < $1 > $1".caps"}for f...
‘伍’ linux tr 大小写转换后查看原文本无变化 新学Linux 求大神指教
tr 命令定义:从标准输入删除或替换字符,并将结果写入标准输出。
根据定义:(1)tr命令并不能对文件内容进行直接处理,所以仅tr命令不能修改文件内容;(2)文件内容要用tr处理,就需要作为tr的标准输入。你的命令里用的echo |或者 < 或者 cat |都是这个作用,就是把文件内容输出到标准输出并作为tr的标准输入,所以tr处理的仅仅是标准输出上的内容,并不是文件本身,所以文件内容不会改变;(3)tr处理后的内容是“写入标准输出”的,并没有写入源文件,所以需要其他命令把输出再写到某个文件,如输出重定向符>,可以把输出到标准输出上的内容重定向输出到某个文件,如“cat qwer | tr [a-z] [A-Z] >qwer2.txt”
‘陆’ 写一个Linux C程序,将一个文本文件中的所有小写字母转换为大写字母。
echo qWerDSFfffgs>test.txt
cat test.txt|tr "[:lower:]" "[:upper:]"
结果:QWERDSFFFFGS
‘柒’ linux如何把文件名小写字母改为大写字母
windows有个设置,默认是选上的,就是要是一个文件名全部是大写字母,就自动变成全是小写
这是因为在以前的dos系统里文件名只能是大写,自己输入小写也自动当成大写处理,但是在windows里支持小写文件名,这样不太符合windows的习惯
就是说,在windows里看着是大写,实际上本来就是小写,解决方法是可以在linux里改成大写,或者在windows里去掉那个设置,具体记不清了,大概是在文件夹选项里!
‘捌’ 在linux系统中,下面哪一条命令可被用来把大写字母转换成小写字母形式
用cat file | tr a-z A-Z > newfile 可以将文件内容转换为大写。cat file | tr A-Z a-z > newfile可以转换为小写。
也可以用 awk '{print toupper($1)}' file > newfile
‘玖’ Linux中批量把文件名大小写转换
linux中批量把文件名大小写转换一哥们从现场打来急电说现在有一个目录,目录下有上千个文件,现在需要把文件名由小写全部转化为大写。首先不能写脚本,那样的话还要教他用vi,
改权限,只能用命令了。字符转换嘛,当然想到的是
tr
:
www.dnjsb.com
for
file
in
*
;do
mv
$file
`echo
$file
|
tr
'a-z'
'A-Z'`;done过了一会儿这哥们又打电话说,扩展名不要改为大写的,保留为小写就行了。这样明显分段的事情当然要交给
awk
了:
for
file
in
*;do
mv
$file
`echo
$file
|
awk
-F
.
'{print
toupper($1).$2}'
`;done这样是可以把类似
a.txt
的文件修改了,但有多个扩展名的就没招了,比如
b.tar.gz,还好
awk
支持变量:
www.dnjsb.com
for
file
in
*;do
mv
$file
`echo
$file
|awk
-F
.
'
{
for
(i
=
1;
i
<=
NF;i++)
if
(i
==
1)
result
=
toupper($i);
else
result
+=
.$i;
print
$result;
}'
`;done但结果是错的,一个文件名也没有改变,查了下说gawk才支持toupper,
tolower,换成gawk
还是不对。最后没办法只好找个折衷的方法,先全部转化为大写,然后再将扩展名转回小写:for
file
in
*;
www.dnjsb.com
do
mv
$file
`echo
$file
|
sed
-e
s//.TXT//.txt/g
`;done但是/.并没有被转义成.,
而依然是代表任意字符,这样的话如果basename中含有扩展名就悲剧了。
试了几下发现这样才是转义的:
sed
-e
s/[.]TXT/.txt/g
`;ok.