我有两个命令都返回数字。 例如:
cat `find -name \*.cd -print` | wc -l
cat `find -name \*.c -print` | wc -l
假设第一个返回10,另一个返回5.
在不更改这些命令的情况下返回它们总和的命令会是什么样的?
我需要这样的东西:
cat `find -name \*.cd -print` | wc -l + cat `find -name \*.c -print` | wc -l
在这种情况下它应该返回15。
我怎么能这样做?
答案 0 :(得分:2)
将两个搜索结合起来更好:
find -regex '.*\.cd?$' | xargs cat | wc -l
或
find -regex '.*\.cd?$' -print0 | xargs -0 cat | wc -l
或者,如果文件名可以包含空格:
var selectedImage;
function select(image) {
var images = document.querySelectorAll('img');
var index = 0, length = images.length;
for (; index < length; index++) {
images[index].classList.remove('selected');
}
selectedImage = image.id;
image.classList.add('selected');
var image = document.getElementById(selectedImage);
var audioId = image.getAttribute('data-audio')
var audioElement = document.getElementById(audioId);
}
答案 1 :(得分:1)
该命令将执行你的两个命令并打印结果的总和。
echo $(($(cat `find -name \*.cd -print` | wc -l) + $(cat `find -name \*.c -print` | wc -l)))
编辑: 正如@Karoly Horvath评论的那样,如果它不是一个oneliner会更具可读性:
cd_count=$(cat `find -name \*.cd -print` | wc -l)
c_count=$(cat `find -name \*.c -print` | wc -l)
echo $(($cd_count + $c_count))
答案 2 :(得分:0)
$ expr $(echo 5) + $(echo 10)
15
只需用你的命令替换echo语句。