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詳細命令介紹及應用可如下進行查找