① 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