是否有方法可以在bash函數中使用STDIN?流水線中的命令行bash變量
例如
# echo "somevar = (100)" >> test.txt
# grep -Eo "\([[:digit:]]+\)$" test.txt
(100)
所以這很好我有我的號碼,接下來我想刪除括號。 我所做的是:
string=`grep -Eo "\([[:digit:]]+\)$" test.txt`; echo ${string:1:-1}
100
所以我的問題解決了,但我花了很長的時間做是:
grep -Eo "\([[:digit:]]+\)$" test.txt | echo ${$1:1:-1}
grep -Eo "\([[:digit:]]+\)$" test.txt | ${$1:1:-1}
grep -Eo "\([[:digit:]]+\)$" test.txt | xargs echo ${:1:-1}
grep -Eo "\([[:digit:]]+\)$" test.txt | xargs -I 's' echo ${s:1:-1}
等,等......其中沒有工作。
因此,假設它是可能的,如何在bash命令中使用管道值?
目前還不清楚你打算編寫的語法的意思。 –
......這就是說,對於閱讀shell本地使用的輸入流的一般性討論,請參閱[BashFAQ#1](http://mywiki.wooledge.org/BashFAQ/001) - 和[BashFAQ#24 ](http://mywiki.wooledge.org/BashFAQ/024)討論一個常見的警告。 –
我想知道是否可以使用管道而不是將其存儲在變量中來實現與使用管道的工作示例相同的功能。儘管你與BashFAQ的鏈接似乎回答了我的問題。 – Martin