回答
有一個項目叫做TEST *有獲得各種重定向到成稱爲輸入*,但事情是有很多的測試程序,他們都有不同的號碼,例如TEST678。我想要做的是將所有隨機輸入文件推入所有測試程序。
你可以寫:
for program in TEST* # e.g., program == 'TEST678'
do
suffix="${program#TEST}" # e.g., suffix == '678'
input="INPUT$suffix" # e.g., input == 'INPUT678'
"./$program" < "$input" # e.g., run './TEST678 < INPUT678'
done > OUTPUT
假設您有以下5個文件:TEST1
,TEST1
,INPUT1
,INPUT2
和OUTPUT
。命令行
./TEST* < ./INPUT* > OUTPUT
將擴大到
./TEST1 ./TEST2 < ./INPUT1 ./INPUT2 > OUTPUT.
換句話說,將運行./TEST1
以2個參數(./TEST2
,./INPUT2
),其輸入從./INPUT1
重定向並且其輸出重定向到命令OUTPUT
。
要解決您可能要做的事,您只能使用輸入重定向指定單個文件。爲了從兩個INPUT*
文件的輸入發送到TEST
,你需要使用類似以下,使用進程替換:
./TEST1 < <(cat ./INPUT*) > OUTPUT
運行每個上所有輸入文件相匹配TEST*
節目匹配INPUT*
,請使用以下循環。它收集所有命令的輸出並將它們放入一個文件OUTPUT
。
for test in ./TEST*; do
cat ./INPUT* | $test
done > OUTPUT
哇,現在有更多的意義。你如何在通用測試中添加通配符?你會(貓/測試版)嗎? – Morki 2013-03-09 20:53:54
for test in ./TEST*; do
for inp in ./INPUT*; do
$test < $inp >> OUTPUT
done
done
圖片'$ test'是'sort';這會產生與「cat ./INPUT* |」不同的結果sort'。 – chepner 2013-03-09 20:59:20
- 1. 通配符301重定向使用.htaccess
- 2. htaccess使用通配符重定向
- 3. 使用通配符重定向到.htaccess
- 4. htaccess通配符重定向
- 5. 301重定向通配符
- 6. www。通配符重定向
- 7. Htaccess重定向通配符
- 8. bash標準輸入重定向不支持通配符?
- 9. Bash通配符使用
- 10. 重定向通配符匹配
- 11. 通配符重定向url重寫web.config
- 12. 使用通配符重定向查詢字符串後
- 13. iis通配符重定向 - wix問題
- 14. 通配符子域重定向
- 15. .htaccess通配符重定向問題
- 16. 重定向到通配符路由Laravel
- 17. .htaccess 301重定向通配符magento
- 18. .htaccess目錄通配符重定向
- 19. 的.htaccess通配符重定向301
- 20. 重定向通配符子域ISAPI 2
- 21. 子域名通配符重定向
- 22. 301重定向通配符的想法?
- 23. 的.htaccess通配符重定向修復
- 24. 重定向到404通配符子域
- 25. 通配符Modrewrite htaccess的APACHE重定向
- 26. Laravel重定向回通配符值
- 27. 通配符DNS?重定向? CNAME?的.htaccess?
- 28. 通配符sub.domain.tld重定向到使用domain.tld /子
- 29. 使用通配符url重定向到https(htaccess)
- 30. 通配符子域重定向只使用DNS
什麼是你想實現什麼?你想迭代一個匹配模式的文件嗎?選擇一個與該模式相匹配的文件? – bmargulies 2013-03-09 20:39:19
有一個稱爲TEST *的程序必須將各種重定向轉換爲稱爲INPUT *,但是有很多測試程序,它們都有不同的數字,例如, TEST678。我想要做的是將所有隨機輸入文件推入所有測試程序。 – Morki 2013-03-09 20:50:59