我正在寻找有关创建脚本的指导,该脚本将检查特定文件夹、打印所有文档(如果有)然后删除这些文档。我还想将此脚本作为 cron 作业运行。
我希望这样做的原因是因为我目前有一个 PHP 网络应用程序,它可以动态创建 pdf 发票并将它们保存在某个文件夹中,但我无法从网络自动打印这些文档(我想是为了安全/垃圾邮件问题)。
我没有语言偏好,但理想情况下希望脚本能够控制打印多少份,在打印机中使用哪个托盘等。
我正在编写我的第一个 bash 脚本。我正在让它安装我在 GitHub 上的所有存储库。
warpInLocations=("git@github.com:acc/toolkit.git" "git@github.com:acc/sms.git" "git@github.com:acc/boogle.git" "git@github.com:acc/cairo.git")
Run Code Online (Sandbox Code Playgroud)
当我安装它们时,它们就是它们。
echo "warping in toolkit, sms, boogle and cairo"
for repo in "${warpInLocations[@]}"
do
warpInDir=$(echo ${warpToLocation}${repo} | cut -d'.' -f1)
if [ -d "$warpToLocation"]; then
echo "somethings in the way.. $warpInDir all ready exists"
else
git clone $repo $warpInDir
fi
done
Run Code Online (Sandbox Code Playgroud)
此处的这一行,我希望它为我提供一个名为toolkitor的文件夹sms,因此在位置扭曲之后/和之前.,但它正在选择git@github。我猜,因为它在..
我怎样才能让它在回购中选择名称?
我有两个文件:
文件01:
line1
line2
line3
Run Code Online (Sandbox Code Playgroud)
文件02:
A
B
C
Run Code Online (Sandbox Code Playgroud)
我想得到
line1 A
line2 B
line3 C
Run Code Online (Sandbox Code Playgroud)
我可能会写一个 Perl 脚本,但如果我不需要它会更好。
我试过使用明显的 grep -o '^' file02 >> file01
但这会产生
line1
line2
line3
A
B
C
Run Code Online (Sandbox Code Playgroud)
这应该是一件很简单的事情,但在“man grep”(grep手册)中没有找到。
我目前正在尝试编写一个脚本来通过 shell 脚本更改网页上的一些参数。我可以毫无问题地更改文本框中的值,但我似乎无法弄清楚如何“按下”应用按钮。
这就是我更改值的方式,如您所见,我需要最后一次“应用”按钮。
setJitterDelay()
{
rate=${1}
if [ "${rate}" == "low" ]; then
((htmlJitterNegDelta = 5))
((htmlJitterPosDelta = 5))
((htmlJitterDelayMax = 10))
jDelta=5
else
if [ "${rate}" == "med" ]; then
((htmlJitterNegDelta = 25))
((htmlJitterPosDelta = 25))
((htmlJitterDelayMax = 50))
jDelta=25
else
if [ "${rate}" == "high" ]; then
((htmlJitterNegDelta = 50))
((htmlJitterPosDelta = 50))
((htmlJitterDelayMax = 100))
jDelta=50
else
echo "error: low, med, high not selected! Skipped..."
return
fi
fi
fi
### APPLY BUTTON
}
Run Code Online (Sandbox Code Playgroud)
我使用 Firebug 来了解我必须更改哪些值,Apply …
我需要列出和删除 .php、.xml 文件。为此,我正在使用find命令。
列出:
find . -type f -name \*.php -print0
删除 :
find . -type f -name \*.php -print0 | xargs -0 rm -r
因为我跑find了两次。是否可以存储第一个命令的结果然后在第二个命令中重用?
谢谢。
编辑:为了清楚起见,完全重写了问题。
我有一个目录树(新的),里面有一堆扩展名为 .new. 我有一个相同的树(旧),其中许多文件的名称与新树中的文件名称相同,只是扩展名为.old. 我想将所有.new文件从新目录树复制到包含文件的旧目录树中.old。由于将带有.new扩展名的文件写入旧目录树,我想删除任何具有相同名称但带有.old扩展名的文件。
所以,如果在新的目录树中,有一个名为 的文件new/foo/bar/file.new,它会被复制到旧的目录树中old/foo/bar/file.new,old/foo/bar/file.old如果它退出,则该文件将被删除。
编辑#1
这个答案在下面进行了讨论(使用具有令人困惑的无关背景信息的旧问题)。请参阅我在下面制定的实际解决方案作为答案之一。
我们是否可以选择将文件夹从一台服务器传输到另一台服务器,即更快、可压缩且带宽限制可设置的方法?服务器在 Linux 上运行。
我尝试了 tar + ssh,但同样无法将带宽限制设置为 3 或 4 MBPS。
有其他服务可以吗?
我有两个文件。file_1.txt 看起来像这样:
R1 C1 C2 C3 C4 C5
R2 C1 C2 C3 C4 C5
R3 C1 C2 C3 C4 C5
R4 C1 C2 C3 C4 C5
R5 C1 C2 C3 C4 C5
R6 C1 C2 C3 C4 C5
R7 C1 C2 C3 C4 C5
R8 C1 C2 C3 C4 C5
R9 C1 C2 C3 C4 C5
R10 C1 C2 C3 C4 C5
Run Code Online (Sandbox Code Playgroud)
file_2.txt 看起来像这样:
R4 C4 C5
R6 C4 C5
R7 C4 C5
R9 C4 C5
Run Code Online (Sandbox Code Playgroud)
我想将 file_1.txt 中的 C4 …
如果您想将一列(而不是一行)附加到表格中,并且该列肯定具有相同数量的元素,您该怎么做?
给定一组每天都在变化的文件,您希望对其进行跟踪。
一个例子是:
file1 3443 words 11-20-13 44 4788 words 11-23-13
file2 4457 words ...
Run Code Online (Sandbox Code Playgroud) 我PATH在我的环境变量中设置了一些额外的位置,~/.bashrc以便这些位置包含/来源在登录和非交互式脚本中,这些脚本使用cron.
我注意到虽然在一个系统上PATH正确修改了,但是尽管所有权和权限设置正确,但其中的任何脚本都不会运行(据我所知)。
$ ls -l
total 756
-rw-r-xr-x 1 slackline slackline 300 Sep 6 07:35 backup
-rwxr-xr-x 1 slackline slackline 978 Dec 30 10:28 bbc_mpd
-rwxr-xr-x 1 slackline slackline 355483 Nov 29 07:31 get_iplayer
-rwxr-xr-x 1 slackline slackline 110 Sep 6 07:35 rsync.albums
-rwxr-xr-x 1 slackline slackline 114 Sep 6 07:35 rsync.climbing
-rwxr-xr-x 1 slackline slackline 108 Sep 6 07:35 rsync.films
-rwxr-xr-x 1 slackline slackline 125 Sep 6 07:35 rsync.mixes
-rwxr-xr-x 1 …Run Code Online (Sandbox Code Playgroud) scripting ×10
bash ×2
find ×2
columns ×1
command-line ×1
cron ×1
executable ×1
file-copy ×1
grep ×1
html ×1
join ×1
linux ×1
permissions ×1
printing ×1
scp ×1
sed ×1
shell ×1
shell-script ×1