我想在每个月的最后一个星期六安排我的脚本。我想出了以下内容:
45 23 22-28 * * test $(date +\%u) -eq 6 && echo "4th Saturday" && sh /folder/script.sh
Run Code Online (Sandbox Code Playgroud)
这是正确的还是我需要更改它?我现在无法测试它,因为它只会在上周六被调用。请指教。
我每个月的最后一个星期天都有以下内容,但我不太明白。第一部分给出了星期天的 24,在 -eq 之后给出了 7,我不知道它是什么意思:
00 17 * * 0 [ $(cal -s | tail -2 | awk '{print $1}') -eq $(date | awk '{print $3}') ] && /folder/script.sh
Run Code Online (Sandbox Code Playgroud)
我可以修改上述内容以获得上周六吗?
在罗密欧的帮助下,我得到了以下答案:
00 17 * * 6 [ $(cal -s | tail -2 | awk '{print $7}') -eq $(date | awk '{print $3}') ] && /folder/script.sh
Run Code Online (Sandbox Code Playgroud) 我正在尝试在另一个脚本中运行一个脚本,如下所示:
$a="$(sh test_part.sh /AB/pass_file.txt)"
echo $a
Run Code Online (Sandbox Code Playgroud)
现在sh test_part.sh /AB/pass_file.txt
返回如下输出:
ABD
SDFDR
TDFDG
DGFKFH
Run Code Online (Sandbox Code Playgroud)
我想将其按$a
原样存储在变量中。使用我当前的脚本,我收到以下错误:
test_part.sh: line 2: $'=ABD\nSDFDR\nTDFDG\nDGFKFH': command not found
Run Code Online (Sandbox Code Playgroud) 我在一个位置有多个类似的 csv 文件。我必须将这些文件合并为一个文件。但问题是我的 csv 文件在标题顶部多了一行。我想删除该行,然后合并 csv。
我知道当顶部没有多余的线时我可以做如下的事情。
cat *UNSTRUCTURED.csv > Merged_UNSTRUCTURED.csv
Run Code Online (Sandbox Code Playgroud)
但挑战是如何删除顶线。此外,所有文件名都将具有类似 UNSTRUCTURED 的模式。