我有一个场景,我需要执行日期命令和' ls -lrth | wc -l'同时命令。
我在Google上的某个地方读到我可以使用分号以下面显示的方式执行此操作
ls -lrth | wc -l | ; date
这个作品超级好!但问题是当我想提取这个的输出。这给出了一个两行输出,输出为" ls -lrth | wc -l"在第一行和第二行的日期输出如下所示
$ cat test.txt
39
Mon Oct 26 16:11:20 IST 2015
但似乎linux正在将这两条线视为同一条线。 我希望这可以形成像这样的东西
39,Mon Oct 26 16:11:20 IST 2015
为此,我无法单独访问这两行(甚至没有尾巴或头部)。
提前感谢。
修改 为什么我认为linux将此视为同一行,因为当我这样做时,如下所示,
$ ls -lrth| wc -l;date | head -1
39
Mon Oct 26 16:24:07 IST 2015
上述原因是我假设一行的事情
答案 0 :(得分:2)
您是否已尝试使用回音?
echo $(ls | wc -l) , $(date)
(或类似的东西,我这里没有Linux模拟器)
答案 1 :(得分:1)
如果你想要你的脚本 ./script.sh
#!/bin/bash
a=$(ls -lrth | wc -l)
b=$(date)
out="$a,$b"
echo "$out"
修改强>
ls -lrth | wc -l; date |头-1 -
分号只分隔两个不同的命令“;”
答案 2 :(得分:0)
管道到xargs echo -n
( - n表示最后没有换行符):
ls -lrth | wc -l | xargs echo -n ; echo -n ","; date
测试:
$ ls -lrth | wc -l | xargs echo -n ; echo -n ","; date
11,Mon Oct 26 12:57:14 EET 2015