2011-11-13 102 views
0

我想用空格和特殊字符讀取,因爲我需要使用該字符串的名稱刪除文件。我不知道如何處理「\」和讀取空格。我可能做錯了。Linux讀取空格和特殊字符

 while read LINE 
    do 
    for arg in $LINE 
    do 
    if [ "${args}" = "" ] 
    then 
     args="${args}" 
    else 
     args="${args}' '" 
    fi  
    args="${args}${arg}" 
    done 

我需要做這樣的事情echo sadsad asddsa ;' dsasa | ./sth.sh | xargs -l rm -f

我認爲我需要設置IFS爲「|」但它不能正常工作。我需要閱讀輸入結束調用它。

編輯:好的,我想我只需要用xargs和sed做些什麼。

現在,已經差不多吳丹我有一些錯誤,但我得到的文件名

find *.txt -print0 | xargs -0 rm -f 

這工作對我很好:)。問題可能解決了。

+0

[Changing find to echo]可能重複(http://stackoverflow.com/questions/8116184/changing-find-to-echo) – chown

回答

2

嘗試:

while read -r line 
do 
    echo rm -- "$line" 
done 

-r意味着反斜槓沒有得到特殊待遇。

+0

echo sadsad asddsa dssd \ dsasa | ./zad3.sh | xargs -l rm -f 我得到這個rm - sadsad asddsa dssd dsasa –

相關問題