我通常使用watchLinux 实用程序每隔n几秒重复观察一个命令的输出,例如在watch df -h /some_volume/.
但是我似乎无法使用watch管道命令系列,例如:
$ watch ls -ltr|tail -n 1
Run Code Online (Sandbox Code Playgroud)
如果我这样做,watch真的ls -ltr是在观察并且输出被传递给tail -n 1不输出任何东西。
如果我试试这个:
$ watch (ls -ltr|tail -n 1)
Run Code Online (Sandbox Code Playgroud)
我得到
$ watch: syntax error near unexpected token `ls'
Run Code Online (Sandbox Code Playgroud)
并且以下任何一种原因都失败了:
$ watch <(ls -ltr|tail -n 1)
$ watch < <(ls -ltr|tail -n 1)
$ watch $(ls -ltr|tail -n 1)
$ watch `ls -ltr|tail -n 1)`
Run Code Online (Sandbox Code Playgroud)
最后,如果这样做:
$ watch echo $(ls -ltr|tail -n 1) …Run Code Online (Sandbox Code Playgroud) 如果我有以下 2 个文件和 1 个文件夹:
someuser@computer:~/Desktop/test$ ls -l
total 340
-rw-r--r-- 1 someuser someuser 45082 ago 5 09:56 file1.pdf
-rw-r--r-- 1 someuser someuser 291836 ago 5 09:56 file2.pdf
drwxrwxr-x 2 someuser someuser 4096 ago 5 09:56 this_is_a_folder.pdf
Run Code Online (Sandbox Code Playgroud)
然后我运行以下命令(注意我省略了目的地):
cp *.pdf
Run Code Online (Sandbox Code Playgroud)
file1.pdf并file2.pdf复制到this_is_a_folder.pdf文件夹中。
someuser@computer00:~/Desktop/test$ ls this_is_a_folder.pdf/
file1.pdf file2.pdf
Run Code Online (Sandbox Code Playgroud)
显然*.pdf是扩展到匹配项,所以它等价于
cp file1.pdf file2.pdf this_is_a_folder.pdf
Run Code Online (Sandbox Code Playgroud)
...和this_is_a_folder.pdf文件夹一样,然后将两个文件复制到其中。
这是一个错误吗?
这显然是通配符扩展的副作用,这不是我所期望的。
我会预料到一个missing destination file 错误。
我有以下两个文件(我用点填充行,因此文件中的每一行都具有相同的宽度,并使 file1 全部大写以使其更清晰)。
contents of file1:
ETIAM......
SED........
MAECENAS...
DONEC......
SUSPENDISSE
contents of file2
Lorem....
Proin....
Nunc.....
Quisque..
Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
请注意,file2 比 file1 长。
当我运行此命令时:
paste file1 file2
Run Code Online (Sandbox Code Playgroud)
我得到这个输出
ETIAM...... Lorem....
SED........ Proin....
MAECENAS... Nunc.....
DONEC...... Quisque..
SUSPENDISSE Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
我该怎么做才能使输出如下?
ETIAM...... Lorem....
SED........ Proin....
MAECENAS... Nunc.....
DONEC...... Quisque..
SUSPENDISSE Aenean...
Nam......
Vivamus..
Curabitur
Nullam...
Run Code Online (Sandbox Code Playgroud)
我试过
paste file1 file2 | column -t
Run Code Online (Sandbox Code Playgroud)
但它这样做:
ETIAM...... Lorem....
SED........ Proin....
MAECENAS... Nunc.....
DONEC...... Quisque..
SUSPENDISSE Aenean...
Nam...... …Run Code Online (Sandbox Code Playgroud) 我有一个用户的 crontab 的问题。
Crontab 拒绝运行任何作业,除非它计划每分钟运行一次 (* * * * *)。
一旦您将任务编辑为在每小时的第 15 分钟运行,它就无法运行。
这每分钟运行正常:
* * * * * touch /tmp/test01
Run Code Online (Sandbox Code Playgroud)
这无法在每小时的第 15 分钟运行。它只是不会运行。
15 * * * * touch /tmp/test02
Run Code Online (Sandbox Code Playgroud)
操作系统是 RedHat 4。
我总是编辑 croncrontab -e并EDITOR设置为 vi。我在15 * * * *(分钟可以改变)之间来回改变* * * * *,结果是一样的。它只喜欢五个星号。
大编辑:
我按照@shane-h的问题进行了测试*/2 * * * *(每隔一分钟),结果奏效了!然后我发现了一些启示:
我用这个字符串做了一个测试 37 * * * * touch /tmp/prueba_777777
令我惊讶的是,这件事实际上运行了,但看看文件的日期:
-rw-r--r-- 1 orashut dba 0 …
是否有一个 Unix/Linux 命令可以改变这个:
AMERICA USA NEW_YORK AB-100
AMERICA USA NEW_YORK VF-200
AMERICA USA NEW_YORK XY-243
AMERICA USA LOS_ANGELES UH-198
AMERICA CANADA TORONTO UT-876
AMERICA CANADA TORONTO UT-877
AMERICA CANADA VANCOUVER UT-871
AMERICA CANADA VANCOUVER UT-872
AMERICA CANADA VANCOUVER UT-873
AMERICA MEXICO MEXICO OU-098
AMERICA MEXICO MONTERREY OU-099
AMERICA MEXICO MONTERREY OU-100
EUROPE FRANCE PARIS IV-122
EUROPE FRANCE PARIS AV-112
EUROPE FRANCE PARIS IF-111
EUROPE FRANCE PARIS XX-190
EUROPE FRANCE TOULOUSE TL-654
Run Code Online (Sandbox Code Playgroud)
进入这个:
AMERICA
USA
NEW_YORK
AB-100
VF-200
XY-243
LOS_ANGELES
UH-198 …Run Code Online (Sandbox Code Playgroud) 我有一个包含文本文件的子文件夹的文件夹。
我时不时地运行一个脚本来制作该文件夹树的副本,然后创建一个包含新信息的新文件夹。
之后,有了旧版本和新版本,我运行 diff 以了解旧版本和新版本之间发生了什么变化,将输出发送到文件:
diff myFiler.old myFolder > diff_report.txt
Run Code Online (Sandbox Code Playgroud)
问题是。
- 如何查看 diff_report.txt 语法的颜色?
我并不是要像 git 使用 diff 时那样查看实际输出的颜色,而是使用这种语法着色来查看已保存到文件中的 diff 输出。
令我烦恼的是,有时当我在文件夹上运行 ls -l 时,它会报告某些文件的数据和时间,而其他文件只报告日期和年份。
$ ls -ltr
-rw-r--r-- 1 oracle9 dba 173 Dec 22 09:49 a1.par
-rw-r--r-- 1 oracle9 dba 191 Dec 22 09:49 a2.par
-rw-r--r-- 1 oracle9 dba 185 Dec 22 09:49 a3.par
-rw-r--r-- 1 oracle9 dba 497 Dec 22 09:49 a4.par
-rw-r--r-- 1 oracle9 dba 238 Dec 22 09:49 a5.par
-rw-r--r-- 1 oracle9 dba 260 Dec 22 09:49 a6.par
-rwxr-x--- 1 oracle9 dba 1076 Dec 22 09:49 al.sh
-rwxr-x--- 1 oracle9 dba 931 Dec 22 09:49 im.sh
-rwxr-x--- …Run Code Online (Sandbox Code Playgroud)