2014-02-25 60 views
0

我有一個變量叫charAlpha。目的是通過文本文檔並計算字母字符。我試圖使用tr和內置的[:alpha:]設置得到只是字母字符。然後我通過wc -c管道它來計算並獲取一個存儲在charAlpha中的數字,稍後在腳本中它將回顯存儲在charAlpha中的數字。我希望我看起來不像我解釋的那樣,因爲我試圖提供這裏所需的所有信息。過去我已經這麼做了,我正在努力不這麼做!謝謝你的幫助!使用帶內置參數集的tr

我正在使用bash並在vim中編輯我的腳本。

我設置

charAlpha=`tr -dc [:alpha:] < | wc -c` 

然後我得到這兩個錯誤:

./filestats: command substitution: line 7: syntax error near unexpected token `|' 
./filestats: command substitution: line 7: `tr -dc [:alpha:] < | wc -c' 

回答

1

在-管道預命令<是不會給任何tr輸入。因此,它在管道上出現錯誤(它期望輸入源)。

+0

@a p謝謝,geeze我累了。我添加了一個文件並開始工作!感謝一堆,併爲我的困惑感到抱歉! – user3347022

+0

@ user3347022 shellcheck還建議引用'[[alpha:]'',否則它可能會擴展到當前目錄中名爲「a」或「l」的文件。 –

0

< |部分可能是你的問題,你需要在它們之間有一個文件名。喜歡的東西(它通常推薦使用的`...`$(...),而不是爲好):

charAlpha=$(tr -dc [:alpha:] < $myFile | wc -c) 
+0

是的,這是我從其他答案中得到的,我意識到在<之後我沒有一個文件。沒有睡眠會對你這樣做!謝謝一堆! – user3347022