掃二維碼與項目經(jīng)理溝通
我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流
在編寫Linux腳本時,經(jīng)常會用到變量。而變量中出現(xiàn)的空格會導致代碼執(zhí)行出錯。因此,去除變量空格是非常重要的。本文將介紹幾種可以去除變量空格的Linux命令,讓代碼變得更加簡潔。

創(chuàng)新互聯(lián)從2013年成立,先為聞喜等服務建站,聞喜等地企業(yè),進行企業(yè)商務咨詢服務。為聞喜企業(yè)網(wǎng)站制作PC+手機+微官網(wǎng)三網(wǎng)同步一站式服務解決您的所有建站問題。
1. 使用tr命令
tr命令可以將字符集中的某些字符替換成另外的字符。當我們需要去除變量中的空格時,可以使用以下命令:
“`
var1=” some text with spaces “
var2=$(echo $var1 | tr -d ‘ ‘)
echo $var2
“`
在這個例子中,我們使用變量`var1`存儲了一些帶有空格的文本,然后使用`echo`和`tr`命令將空格替換成空字符,最后使用變量`var2`存儲了去除空格后的文本。注意,`-d`選項表示刪除空格。
2. 使用sed命令
sed命令可以用來編輯文本。當需要去除變量中的空格時,我們可以使用以下命令:
“`
var1=” some text with spaces “
var2=$(echo $var1 | sed ‘s/ //g’)
echo $var2
“`
在這個例子中,我們使用變量`var1`存儲了一些帶有空格的文本,然后使用`echo`和`sed`命令將空格替換成空字符,最后使用變量`var2`存儲了去除空格后的文本。注意,`s/ //g`表示將所有的空格替換成空字符。
3. 使用awk命令
awk命令是一種處理文本數(shù)據(jù)的命令。當需要去除變量中的空格時,我們可以使用以下命令:
“`
var1=” some text with spaces “
var2=$(echo $var1 | awk ‘{$1=$1};1’)
echo $var2
“`
在這個例子中,我們使用變量`var1`存儲了一些帶有空格的文本,然后使用`echo`和`awk`命令將空格替換成空字符,最后使用變量`var2`存儲了去除空格后的文本。注意,`{$1=$1};1`表示將之一個字段變成自身,從而去除空格。
4. 使用read命令
read命令可以讀取用戶輸入或文件中的內(nèi)容,并將其賦值給變量。當需要去除變量中的空格時,我們可以使用以下命令:
“`
var1=” some text with spaces “
read -r var2
echo $var2
“`
在這個例子中,我們使用變量`var1`存儲了一些帶有空格的文本,然后使用`read`命令讀取該文本并將其賦值給變量`var2`,最后輸出變量`var2`。注意,`-r`選項表示不將反斜杠視為轉義字符,`
5. 使用bash內(nèi)置命令
bash內(nèi)置命令`echo`和`${}`也可以用來去除變量中的空格。以下是一個例子:
“`
var1=” some text with spaces “
var2=$(echo ${var1})
echo $var2
“`
在這個例子中,我們使用變量`var1`存儲了一些帶有空格的文本,然后使用`echo ${}`命令將變量`var1`中的空格去除,最后使用變量`var2`存儲去除空格后的文本。
Linux命令大大方便了我們對變量進行處理,特別是去除變量中的空格,讓我們的代碼變得更加簡潔。在實際編寫Linux腳本時,我們可以根據(jù)具體情況選擇適合自己的命令來去除變量中的空格。同時,我們也需要注意代碼的可讀性和易于維護性。
相關問題拓展閱讀:
當路徑變量包含空格時,直接使用會出錯。
在我們使山氏襲用linux時如果遇到這種情況的話有兩種方法。一當外層無引號時,核褲路徑變量加上引號就行啦。二當外層有引號時,加引號并轉義或者加
單引號
。
linux文件和目錄訪問權限設置使用chmod和數(shù)字改變文件或目錄的訪問權限文件和目錄的權逗兄限表示,是用rwx這三個字符來代表所有者、用戶組和其他用戶的權限。
int ch;
while((ch = getchar()) != EOF)
{
if(ch == ‘ ‘)
puts(“空肢散攔格”);
else if(ch == ‘\t’掘昌)
puts(“制表符號歷胡”);
else
putchar(ch);
}
用正則去匹配試試
得編輯器支持
你那個是中文字符,一個char是不夠的,要不就使用wchar來定義,參考C語言寬字符集
這邊有很多問題啊渣虧鉛:
你打算用*p修改一個const字符串,肯定是不行的,會有段錯誤;
使用char型保存一個中文字符,這個也是有問題的。應該用wchar_t;
少了個break。
修改后的代如好碼
int main()
{
wchar_t str;
memset(str, 0, sizeof(wchar_t) * 32);
wcscpy(str, L”├─hello”);
wchar_t *p=str;
while (*p)
{
if (*p == L’├’ || *p == L’─’)
{
空首 *p=L’ ‘;
p++;
continue;
}
p++;
}
wprintf(L”%ls\n”, str);
return 0;
關于linux變量去空格的介紹到此就結束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關注本站。
香港服務器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務提供商,擁有超過10年的服務器租用、服務器托管、云服務器、虛擬主機、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗。專業(yè)提供云主機、虛擬主機、域名注冊、VPS主機、云服務器、香港云服務器、免備案服務器等。

我們在微信上24小時期待你的聲音
解答本文疑問/技術咨詢/運營咨詢/技術建議/互聯(lián)網(wǎng)交流