假设我有一个存储在变量中的特定日期date_m。我要((date_m)-25)约会
例如:我已经15/09/2014存储在我的变量中,然后21/08/2014如果我从存储在变量中的日期中减去 25 ,我想要返回。
我想w周期性地启动命令,根据man watch最小可能的时间间隔是0.1。
我试过:
watch -n1 w (works)
watch -n1.5 w (does not work)
watch -n0.1 w (does not work)
Run Code Online (Sandbox Code Playgroud)
当我尝试watch使用 n 选项作为非整数启动命令时,我收到错误消息:
watch: failed to parse argument: '0.1'
Run Code Online (Sandbox Code Playgroud) GNU 的手册页find明确警告使用-delete意味着-depth. 但是,我找不到对此要求的任何解释:
\n\n\n
-delete删除文件; 如果删除成功则为 true。如果删除失败,则会发出错误消息。[\xe2\x80\xa6] 使用-delete自动打开该-depth选项。
find --version\nfind (GNU findutils) 4.8.0\nRun Code Online (Sandbox Code Playgroud)\n这隐式是后序行走:
\nfind /path -type f -delete\nRun Code Online (Sandbox Code Playgroud)\n但这是预序遍历,是 的常用遍历方法find:
find /path -type f -exec rm -f {} +\nRun Code Online (Sandbox Code Playgroud)\n如果我想用-prune我就不能用-delete,而必须使用更麻烦的-exec rm {} +,但最终效果似乎是一样的。
该-delete操作不会删除目录,那么为什么find -delete需要暗示呢-depth?
我有 Linux 服务器 (CentOS 5.10) 的 root 访问权限。我想查看电子邮件服务器的设置,例如 SMPT 是否正常工作、是否有电子邮件服务器、端口号、是否需要 SSL、需要什么身份验证方法、电子邮件地址列表,如果可能,电子邮件地址的密码. 我应该在哪里寻找文档?
这是 netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 4796/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 4796/java
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 21409/mysqld
tcp 0 0 0.0.0.0:970 0.0.0.0:* LISTEN 3332/rpc.statd
tcp 0 0 0.0.0.0:44 0.0.0.0:* LISTEN 6765/sshd
tcp 0 0 0.0.0.0:10991 0.0.0.0:* LISTEN 4796/java
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 3271/portmap
tcp …Run Code Online (Sandbox Code Playgroud) 我正在尝试匹配和合并两组排序数据,每个文件一组。每个文件包含两列:键字段和关联值。结果输出应包含三列:键字段、第一个文件中的值(如果有)和第二个文件中的值(如果有)。我需要包含不匹配的数据行。
第一个文件“约翰”
apple,green
cherry,red
orange,orange
Run Code Online (Sandbox Code Playgroud)
第二个文件“简”
apple,red
banana,yellow
cherry,yellow
kiwi,green
Run Code Online (Sandbox Code Playgroud)
想要的结果
apple,green,red
banana,,yellow
cherry,red,yellow
kiwi,,green
orange,orange,
Run Code Online (Sandbox Code Playgroud)
我最初认为这是一项微不足道的工作 join
LC_ALL=C join -j1 -a1 -a2 -t',' john jane
Run Code Online (Sandbox Code Playgroud)
但结果-a1 -a2总是将不匹配的值放在第二列中:
apple,green,red
banana,yellow
cherry,red,yellow
kiwi,green
orange,orange
Run Code Online (Sandbox Code Playgroud)
我需要能够看到不匹配的值来自哪个源文件,理想情况下通过将这些值放在结果文件的第二或第三列中,但我无法找到一种简单的方法来实现这一点,而无需深入到awk ... getline()类型结构中。
请问有什么建议吗?
我有一台运行 Windows 8.1 的计算机,对于某些项目,我使用 Vagrnat 和 VirtualBox,但是在升级 VirtualBox 和 Vagrant 后,运行 Vagrant ssh 后,vagrant 不显示命令提示符。我认为这可能是与旧机器有关的问题,所以我创建了一个新的 VM,但结果是一样的。


你能看看吗,给我一个关于如何解决这个问题的想法?
我想使用删除选项进行 rsync,以便文件夹保持相同的副本,在我从源中删除文件和文件夹之后也是如此。
问题是目标文件夹上可能有一些不应删除的内容。在这种情况下,我想要发生的是 rsync 删除继续进行,但要删除的文件实际上存储在某个垃圾文件夹中,而不是从文件系统中删除。
这样我就可以维护相同的文件夹,而不必担心意外覆盖某些内容。
如何最好地实现这样的功能?
我想检查 SMB 连接中的方言版本。
在 Windows 上,Get-SmbConnection会得到它。
PS C:\Windows\system32> Get-SmbConnection
ServerName ShareName UserName Credential Dialect NumOpens
---------- --------- -------- ---------- ------- -------
savdal08r2 c$ SAVILLTEC... SAVILLTEC... 2.10 1
savdalfs01 c$ SAVILLTEC... SAVILLTEC... 3.00 1
Run Code Online (Sandbox Code Playgroud)
在 macOS 上, smbutil statshares -a运行良好。
我应该在 linux 上做什么?
考虑两个条件表达式expr1and expr2,例如$i -eq $jand $k -eq $l。我们可以bash通过多种方式来编写它。这里有两种可能
[[ expr1 || expr2 ]]
[[ expr1 ]] || [[ expr2 ]]
Run Code Online (Sandbox Code Playgroud)
我很确定我在这里看到了推荐第二个应该是首选的建议,但我找不到证据来支持这一点。
这是一个示例脚本,似乎表明没有区别:
for i in 0 1
do
for j in 0 1
do
for k in 0 1
do
for l in 0 1
do
if [[ $i -eq $j || $k -eq $l ]]; then printf "1-yes\t"; else printf "1-no\t"; fi
if [[ $i -eq $j ]] || [[ $k -eq …Run Code Online (Sandbox Code Playgroud) 我有一个相对较小的文件名列表,这些文件名是从基于find. 文件名包含空格和标点符号,但绝对没有其他非打印字符或换行符。
例如,
Netherlands/Purge (GDPR) 2020-01-09.txt
Netherlands/Purge (GDPR) 2020-01-27.txt
Switzerland/New mailing 2020-01-27.txt
Run Code Online (Sandbox Code Playgroud)
我想将这些文件作为一组(vi file1 file2 file3而不是vi file1; vi file2; vi file3)进行编辑,部分原因是我可以轻松地在它们之间前后跳转。
我已经开始使用生成的文件名列表作为参数列表 - 带有空格
,它有一个标准的find -print0 | xargs -0 mycommand解决方案。不幸的是,这在mycommand编辑器时不起作用,因为虽然xargs可以组合要编辑的文件集,但标准输入已经从管道中占用,我看不到就地运行编辑器的方法。我无法使用,find -exec vi {} +因为我正在使用管道来验证文件名集,而不仅仅是find它本身。
我的另一个选择是复制和粘贴,组合文件名列表,用引号将它们括起来,然后在结果前加上vi. 对于这三个文件来说,这是微不足道的,但在一般情况下,这不是一个易于重用的解决方案,
vi 'Netherlands/Purge (GDPR) 2020-01-09.txt' 'Netherlands/Purge (GDPR) 2020-01-27.txt' 'Switzerland/New mailing 2020-01-27.txt'
Run Code Online (Sandbox Code Playgroud)
给定一个 GNU/Linux 平台bash作为我的首选 shell(以防万一),我如何编辑类似生成的文件列表?