① shell 字符串过滤问题
read-p"pleaseinput:"str
echo$theFile|sed-r's/(.*_)[^_]+$/1'$str'/g'
② shell脚本命令筛选包含特定字符所在行中的另外几个字符输出到文件
假设关键字是g01那么grep g01 q.txt|gawk 'print $2'就可以了
③ shell去掉字符串中的特定字符,如去:"123456789"中的""双引号
sed 's;pub/test/aaa.txt;d' file
sed命令的s后面第一个字符就是分隔符,分隔符跟你说的特殊字符不一样就可以版了。
④ shell实现查找含某个字符串的行,并截取此行=之前的内容
[RCSHD_Document]@Fetion_HD_Document_g = rw@admin_g = rw
@PM_g=rw
这是在两行还是一行?
你的意思是,先根据lisi找到=前面的PM_g,然后根据PM_g和它前面的@找到[]里面的内容?
⑤ shell 文本文件处理 删除每行前两个字符
sed-i's/^..//'file.txt
使用了sed的正则替换命令,格式为 s/A/B/
其中,A为正则表达式,^ 匹配行首位置,点号 . 匹配任意一个字符。
这里即将行首的前两个字符替换为空。
⑥ 如何用shell去除文本中的特殊字符
你的这个问题很好,之前也困扰过我
1)、首先在vi命令模式下:set list可以将不可看见的特殊字符打印出来
2)、这些不可见的特殊字符是可以输入的方式如下
比如^I是Tab(\t),^M是WIN的换行(\n\r)
请注意^I 不是^ I, ^M也不是^ M
^I 是Ctrl + V Ctrl + I
^M 是Ctrl + V Ctrl + M
3)、然后用sed -i 's/^M//g' a.txt进行删除(这个里边的^M是用2)中的方式输入的,在终端里边是不显示的,如果你要测试的话可以先用sed 's/^M//g' a.txt 看看效果)
⑦ shell 删除指定字符串之间的字符(反向删除)
$ echo 1xx1xxx1x1 | awk -F'1' 'END{while(++i<NF)printf FS}'
⑧ shell如何只替换字符串的第一个字符
[root@localhost ~]# echo $c
123456
[root@localhost ~]# echo $c|sed 's/./a/'
a23456
.表示任意字符,替换第一个就不需要加上g
⑨ shell如何保留字符串的原来的格式
你应该用shell的转义阿, ls\空格\*
⑩ shell如何去掉字符串中的一些字符
可以使用替换的方法,把你想去掉的字符替换成空白字符即可。
例如:s/***//g