我正尝试将文本文件的后半部分馈送到while循环中,我知道我可以通过创建带有感兴趣行的辅助文件来逐步实现此目的,但是我有兴趣学习如何一行完成。
我知道这可以处理整个文件:
while read p; do echo $p .; done < file.txt
我认为以下内容可以使最后几行有效,但事实并非如此。我想念什么?
while read p; do echo $p .; done < tail -n 21 file.txt
答案 0 :(得分:2)
简单的const votes = [
{
"Seattle" : "1",
"Chicago" : "2",
"New York" : "3"
},
{
"Chicago" : "1",
"New York" : "2",
"Seattle" : "3"
},
{
"New York" : "1",
"Chicago" : "2",
"Seattle" : "3"
}
];
const tally = votes.reduce((a, e) => {
for (const p in e) {
a[p] = a[p] + (+e[p]) || +e[p];
}
return a;
}, {})
console.log(tally);
重定向需要一个文件名,而不是命令。您可以使用管道:
<
或process substitution +重定向:
tail -n 21 file.txt | while read p; do echo $p .; done