linux字符串空格
A. linux 将字符串中的斜线替换成空格
1. 如果是文件中的替换:sed -i "s/字符串/\ /g" 文件名
2.如果是vi中的替换是:%s/字符串/ /g 然后回车
B. Linux中字符串长度大于0和字符串不是空字符串一样吗
一般的默认一个空格是一个字符的,字符串长度大于0和字符串是空串不是一样的,空串是只包含“\0”的。几个空格Linux不会当空字符串的,长度是空格数+1.
C. 每天三分钟搞定linux shell脚本10 字符串相关的if判断
字符串比较包括
注意 :这里的符号要 转义 ,否则变成了重定向了。
运行结果:
注意 :上面的 等号左右两侧 , 中括号内侧 一定要有空格
运行结果:
以上的例子,说明 小写字母排在字典的后面 (类似于ascii的大小)。
sort 可以对字符串排序,sort 命令会把小写字母放在前面 。
运行结果:
注意上面的 中括号内侧 一定要有空格。
注意 :有时候想在字符串比较的时候使用 正则表达式 ,可以使用 双方括号 ,如:
运行如下:
注意:上面的 双等号左右两侧,中括号内侧 一定要有空格
D. 在linux系统中 echo命令是什么意思用什么作用
echo命令的意思是在显示器上显示一段文字,起到提示的作用。
该命令的常规格式为:echo [-n]字符串
选项n表示没有换行符的输出; 该字符串可以带引号或不带引号。 使用echo命令输出带引号的字符串时,请按原样输出该字符串; 当使用echo命令输出未加引号的字符串时,请将字符串中的每个单词作为字符串输出,并用每个字符串之间的空格分隔。
(4)linux字符串空格扩展阅读:
linux echo命令在shell编程中经常使用,并且在终端下打印变量值时也经常使用。
echo命令的功能说明:显示文字。
语言语法:echo [-ne] [string]或echo [--help] [-version]。
附加说明:echo将输入字符串发送到标准输出。 输出字符串由空格字符分隔,并在末尾添加换行符。
参数:-n 不要在末尾换行。
E. linux怎么消除文件名中的空格
可以在空格前加上转义符 \ ,就能达到效果。比如:
~$ ls test\ aa.txt
test aa.txt
~$ rm test\ aa.txt
~$ ls test\ aa.txt
ls: cannot access test aa.txt: No such file or directory
这样就删除了文件。
如果文件的第一个字符不是空格,可以先写几个字符,再用tab键选择,会自动出来带 \ 转义之后的文件名。
\字符的意义:
\(反斜杠) 又叫转义,去除其后紧跟的元字符或通配符的特殊意义。
转义符还可以处理其他特殊符号,比如通用符:*、?、$等,以及 \ 字符本身。只需要在它前面加上 \ 即可。
F. linux for循环变量中有空格怎么处理
这个需要更改 shell分隔符为换行
在for循环之前修改IFS变量
IFS=$'\n'
OLDIFS="$IFS"
for i in `find . `
do
echo "$i"
done
IFS="$OLDIFS"
这样循环就会以换行作为单词分界.你的文件名如果出现换行,那就无能为力。
虽然linux 支持文件名包含特殊字符
但并不推荐,会导致别的脚本出错误。通常用下划线或短线代替空格。
还有一种用
find some|while read i
do
echo "$i"
done
用read i,每个循环读取一行,等价与用换行作为分隔符。
记得采纳
G. linux下,cshell环境,在字符串中间加空格。
"\ "
也就是空格前面加一个 \ 转义符试试。
还一个选择是用单引号。不过单引号里面不能用变量了。
另外,你也可以试试双引号里面放变量还有空格,或许也可以。双引号里面的变量依然会被 shell 进行对应替换数据的。
H. linux grep 找字符串有空格的
grep "1 " test.txt
这样的话不就可以了么
I. Linux 下如何处理包含空格和特殊字符的文件
使用通配符 ? 和*代替就行,
例如a a中有一个空格可以用a?a来代替.
a a中有多个空格可以用 a*a来代替
或者使用转义字符 \加一个空格来表示文件名中的一个空格,有几个空格就写几个 \和空格
J. 总结linux替换字符串的几种方法
一)通过vi编辑器来替换。
vi/vim 中可以使用 :s 命令来替换字符串。
:s/well/good/ 替换当前行第一个 well 为 good
:s/well/good/g 替换当前行所有 well 为 good
:n,$s/well/good/ 替换第 n 行开始到最后一行中每一行的第一个 well 为 good
:n,$s/well/good/g 替换第 n 行开始到最后一行中每一行所有 well 为 good
n 为数字,若 n 为 .,表示从当前行开始到最后一行
:%s/well/good/(等同于 :g/well/s//good/) 替换每一行的第一个 well 为 good
:%s/well/good/g(等同于 :g/well/s//good/g) 替换每一行中所有 well 为 good
可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符
:s#well/#good/# 替换当前行第一个 well/ 为 good/
:%s#/usr/bin#/bin#g 可以把文件中所有路径/usr/bin换成/bin
(二)直接替换文件中的字符串。(此法不用打开文件即可替换字符串,而且可以批量替换多个文件。)
1.perl命令替换,参数含义如下:
-a 自动分隔模式,用空格分隔$_并保存到@F中。相当于@F = split ”。分隔符可以使用-F参数指定
-F 指定-a的分隔符,可以使用正则表达式
-e 执行指定的脚本。
-i<扩展名> 原地替换文件,并将旧文件用指定的扩展名备份。不指定扩展名则不备份。
-l 对输入内容自动chomp,对输出内容自动添加换行
-n 自动循环,相当于 while(<>) { 脚本; }
-p 自动循环+自动输出,相当于 while(<>) { 脚本; print; }
用法示例:
perl -p -i.bak -e 's/foo/bar/g' *.c
将所有C程序中的foo替换成bar,旧文件备份成.bak
perl -p -i -e "s/shan/hua/g" ./lishan.txt ./lishan.txt.bak
将当前文件夹下lishan.txt和lishan.txt.bak中的“shan”都替换为“hua”
perl -i.bak -pe 's/(d+)/ 1 + $1 /ge' file1 file2
将每个文件中出现的数值都加一
2.sed命令下批量替换文件内容
格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径` 文件名
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除
示例:sed -i "s/shan/hua/g" lishan.txt
把当前目录下lishan.txt里的shan都替换为hua 各个Linux详细命令介绍及应用可如下进行查找