我想從標準輸入讀取,刪除所有'/',並將輸出寫入標準輸出。因此,文件包含:使用sed的shell腳本
/ab1/1a6/ 17
/a/b/1
將輸出:
ab11a6 17
ab1
我想應該是這樣的:
read input
sed -r 's/\/[^\/]*\/[^\/]*\/.*/"I not sure what do I need to put in here"/g'
echo $input
我真的不知道我該怎麼需要放置「替換」部分。任何建議?
我想從標準輸入讀取,刪除所有'/',並將輸出寫入標準輸出。因此,文件包含:使用sed的shell腳本
/ab1/1a6/ 17
/a/b/1
將輸出:
ab11a6 17
ab1
我想應該是這樣的:
read input
sed -r 's/\/[^\/]*\/[^\/]*\/.*/"I not sure what do I need to put in here"/g'
echo $input
我真的不知道我該怎麼需要放置「替換」部分。任何建議?
sed 's./..g'
這將刪除每一行中的所有字符/
,所以你不需要更換部分。您可以使用/
作爲分隔符,並逃避它在文本:s/\///g
或選擇不同的標點符號作爲分隔符:s./..g
所以,如果你想轉換的輸出一個名爲input.txt
文件,並寫入output.txt
:
sed 's./..g' input.txt > output.txt
# or
sed 's./..g' <input.txt> output.txt
沒什麼......如下圖所示:
% echo "/ab1/1a6/ 17" | sed 's/\///g'
ab11a6 17
做你問什麼,最簡單的方案是:
tr -d '/'
如果您輸入,你會得到你想要的輸出 - 無/字符你不需要一個read
或echo
聲明
的sed的行爲同其他人已經表明,TR &使用sed從標準輸入讀取和寫入默認到stdout:
sed 's/\///g'
OP特別要求'sed' – hd1 2013-03-20 04:17:53