我需要像这样replace文件中的单词 text text pc text text text text pc text text text text pc text text 我需要用pc1,pc2 ….等取代pc text text pc1 text text text text pc2 text text text text pc3 text text 我怎样才能做到这一点?
我注意到一个进程采取我的Linux服务器上的完整的CPU,其中从top -c的COMMAND列是-bash 。 cat /proc/<pid>/cmdline显示了-bash 。 领先的破折号是什么意思? 更多信息:我不知道它是否相关, /proc/<pid>/exe -> /bin/bash (deleted)
#cat sample 1 -1 2 2 2 2 2 1-1 3 我需要得到所有包含负值的行,也就是第一行。 值以制表符分隔。 首先我尝试了 # grep "\-1" sample 1 -1 2 2 1-1 3 但是,如果我尝试 grep "\t\-1" sample 我什么也没得到(不匹配)。 我究竟做错了什么?
我写了一个脚本来在Nginx上创build新的虚拟主机。 该脚本创build了Ningx vhostconfiguration文件,vhost用户和dirs,php-fpm池文件。 在脚本的最后,我想在重新启动php-fpm之前检查configuration是否正常。 对于Apache,我做apachectl graceful ,但是有可能做类似于php5-fpm -t ?
我使用tar zcf arhive.tar.gz dir/创build一个tarball,并且这个工作正常。 现在我想把它分成两个简单的档案,一个只用于图像,另一个 – 用于其他的。 似乎没有一个简单而干净的方法来做到这一点。 对于tar我只能排除文件,这是不合理的排除除gif,jpg和png之外的每个扩展名。 要包括我必须用任何 – exec或| xargs find | xargs 。 这种有点作品,但打破如果文件名有空格或特殊字符(撇号,引号)。 所以现在我必须把所有的文件名都放进awk ,然后手动转义它们。 我错过了什么? 为什么这么复杂? 我只想要tar zcf archive-images.tar.gz dir/ –match-only=*.png
我想find一个目录中的图像文件的数量。 我结束了使用这个: find . -type f -exec file {} \; | grep -c -i 'image' 这感觉就像一个低效率的做法。 我可以想办法做到这一点 – 使用一个OR语句,但是我不能从man page中弄清楚如何做到这一点。 任何想法如何更有效地做到这一点? 我不想在具有相当大数量的文件的目录上执行上述命令,并且永久占用它。
我试图编写一个脚本,每次启动一个新的EC2实例时,将在/ etc / sudoers中注释掉以下行: Defaults requiretty 我假设这样做的最好方法是内联sedsearch和replace或search和插入。 问题是在Defaults和requiretty之间可能会有1+个空格/制表符。 什么是高效的sed解决scheme?
我想安排一个任务在一个特定月份的一个星期的指定date之前运行几秒,几分钟,几小时,几天或几周。 例子是: 上午8点,每个月的最后一个星期二的前7天 上午10点,每个月的第二个星期六前11天 在每个月的最后一个星期五的前三天的下午六点 我很乐意在特定的日子里设置cron / at来运行作业,并且意识到如果我想运行这些types的计划,我可能不得不与cron一起运行脚本。 有没有人有我如何能做到这一点的例子?
我有一个variables,我这样构build: ATTSTR="" for file in $LOCALDIR/*.pdf do ATTSTR="${ATTSTR} -a \"${file}\"" done variables现在包含(注意文件名中的空格): ATTSTR=' -a "/tmp/Testpage – PDFCreator.pdf"' 现在我想在这个命令中使用这个variables: mutt -s "Subject" "${ATTSTR}" [email protected] 但事实certificate,它是这样扩展,因此命令失败(注意扩展variables周围的单引号): mutt -s "Subject" ' -a "/tmp/Testpage – PDFCreator.pdf"' [email protected] 我希望我的variables扩展没有单引号,使用"$ATTSTR"或$ATTSTR只是更糟。 我怎样才能做到这一点?
我需要调整我的shell脚本并多次写入$log 。 重复打开和closures文件将导致运行时间的增加。 我怎样才能把一切写到文件中,包括我的脚本中定义的所有echo语句? #!/bin/sh log="loadlog.log" for i in {1..10} do n=$((100*$i)) echo "## Users=$i requests=$n ##" >> $log ab -n $n -c $i http://mainserver.com/index.html >> $log ssh root@mainserver cat /proc/loadavg >> $log echo "======" >> $log done