如何在shell脚本中处理包含空格的文件。 这是我正在尝试 find /abc/xyz -name 'BY567*.csv' | while read fname do mv "$fname" ./archive/$(basename $fname)-$(date +%Y%m%d-%T) done 但是当我这样做的时候,它的空间后的文件名称。 如果文件名是BY567_Test file.csv,它将被更改为BY567_Test-datetimestamp而不是BY567_Test file.csv-datetimestamp。
有没有可能改变这一点: 1 Alice 1 Bob 1 Cary 2 Dan 3 Eve 3 Fred 进入这个: 1 Alice,Bob,Cary 2 Dan 3 Eve,Fred 使用shell? (没有Perl,Ruby,Python等)
我有一个系统不断耗尽磁盘空间。 我要写一个脚本,清理更大的目录。 通常这些是日志目录。 鉴于机器的性质,我不需要保持日志。 我想写一个脚本,显示所有的大小增加的目录,所以我可以确保这个列表为0。 我在想这样的事情 1. du / 2. wait 24 hrs 3. du / 4. find all instances where the file size increased 它看起来很简单,但我的问题是,杜对文件和目录工作,你不能做只有目录。 我怎样才能克服呢?
我有一个简单的问题,需要通过SSH执行导出命令,然后保持login,但我有一些麻烦。 虽然我有兴趣解决这个问题的原因很多,但主要是我可以自定义我的terminal标签到我select的名称。 这是我迄今为止的命令: ssh -t root@somehost "export PROMPT_COMMAND=''; echo -ne '\033]0;MY_TAB_NAME'; echo -ne '\007'; /bin/bash -i" 这是一个相当愚蠢的,我想我只是在那里。 -t选项打开一个pty(伪terminal),而/ bin / bash -i打开一个交互式bash会话(因此在执行ssh命令后保持login状态。export命令只是清除提示符,以便下面的回显重命名它。 我遇到的问题是,出口似乎并没有在正确的shell执行。 我想我错过了很简单的事情。 此外,我正在尝试使这个纯粹的命令行而不必使用各种.bash文件。 我有数百个连接到的服务器,并且有一个简单的方法来为所有连接添加书签,但是只需要一些方法来为我的terminal中的每个选项卡定制名称(Mac OS X,如果有更简单的解决scheme,愿意使用iTerm)。 谢谢!
我有一个bash脚本,通过CRON运行许多命令/工具,如convert或pdftk。 经常发生的情况是,例如pdftk变得“陈旧”或“挂起”,调用脚本停止前进。 是否有一个简单的方法在bash脚本中(通过陷阱?)设置执行的时间限制或检测不活动(通过定义)为特定的电话?
我相信这不应该像我find它一样辛苦! 当我login到我的机器时,我希望它启动一个bash shell,在一个给定的目录中,打开并命名一些标签,并在每一个启动一个进程。 我想如果我放 cd ~/xxx/xxx/xxx 在.bashrc中,然后用类似的东西自动启动bash shell gnome-terminal –tab -e "bash -c 'rails s'" –tab -e "bash -c 'spork'" –tab -e "bash -c 'autotest'" –tab -e "bash -c 'rails c'" –tab -e 'tail -f log/development.log' 它应该工作 它不 – 我得到“有一个错误,为这个terminal创buildsubprocess无法执行subprocess的'轨'(没有这样的文件… 轨道是在path中 – 无论是在根目录和目的地的目录,并给出完整的path没有帮助 – terminal窗口不打开。 更新:这不能按预期工作的原因是,直到执行启动进程的命令,bashrc不会改变工作目录。 (我可以看到,如果我做标签-e'密码') 所以问题是,我怎样才能改变目录,然后开始运行的进程?
我正在对S3进行每日备份。 我只想从上午8点到上午8点才使用上传带宽。 任何单独的运行可能需要超过12小时,因为我们的上传是蹩脚的。 我不担心任意杀s3cmd,因为它会在下次运行中正确恢复。 我的crontab看起来像这样: # 0 20 * * * s3cmd sync FOO s3://MyBucket 上午8点如何testing并停止。 理想情况下,我希望我可以做一些事情: # 0 20 * * * time –limit 12H "s3cmd sync FOO s3://MyBucket" 我正在使用Ubuntu服务器。 谢谢! 编辑: 根据量子的答案。 对于多个上传命令,我想我应该这样做? # 0 20 * * * s3cmd sync FOO s3://MyBucket; s3cmd sync BAR s3://MyBucket; s3cmd sync FOOBAR s3://MyBucket; # 0 […]
我顶部命令中的Time +列不报告正在运行的php脚本的正确时间。 它首先上下波动报道 TIME+ 22:39.35 php 然后三秒钟后报告 TIME+ 7:12.41 php 然后再过三秒钟报告 TIME+ 42:44.21 php 任何线索,为什么这是发生? 编辑: 我打“c”切换进程的名称,所以我知道这是相同的过程。 时间仍然不正确地报告。
有什么办法可以configurationBash在提供N行以上输出的命令之后打印换行符或水平行? 例如,在一个简单的cd我不需要换行符或水平行,但是在一个长cat之后,当我比较各种命令的输出时,每个命令输出结束的可视化指示将会很好。
我需要将pv命令的输出redirect到一个文件,所以我读它是从另一个进程的进度。 或者,我能做到这一点吗?