我试图编写一个脚本来计算目录大小,如果大小小于10GB,大于2GB则执行一些操作。 我需要在哪里提及我的文件夹名称? # 10GB SIZE="1074747474" # check the current size CHECK="`du /data/sflow_log/`" if [ "$CHECK" -gt "$SIZE" ]; then echo "DONE" fi
我很难find当前目录中的匹配以及其子目录。 当我运行find *test.c ,它只会给我当前目录中的匹配项。 (不在子目录中查看) 如果我尝试find . -name *test.c find . -name *test.c我期望得到相同的结果,但是它只给出了我在子目录中的匹配项。 当有工作目录中应该匹配的文件时,它会给我: find: paths must precede expression: mytest.c 这个错误是什么意思,我怎样才能从当前目录及其子目录中获得匹配?
例如,Mysql服务器正在我的Ubuntu机器上运行。 有些数据在过去24小时内发生了变化。 哪些(Linux)脚本可以find在过去24小时内发生更改的文件? 请列出文件名称,文件大小和修改时间。
我正在开发一个Windows机器。 我唯一需要的命令是Git Bash。 问题是:当我打开它,我在主目录。 我必须将目录更改为我的工作区,如: cd ../../../d/work_space_for_my_company/project/code_source 我可以用.sh文件包装这个,所以我不用再手工input了吗? 这应该很简单,但我对Linux命令行知之甚less。 我真的很感激如果你可以走过我如何创build.sh文件。
我试图find我的网站目录树中的所有符号链接。 我知道我可以使用find来做到这一点,但我不知道如何recursion检查目录。 我试过这个命令: find /var/www/ -type l …后来我发现/var/www中的内容是符号链接,所以我将命令更改为: find -L /var/www/ -type l 运行需要一段时间,但是我没有find匹配。 我如何得到这个来检查子目录?
我需要一个将Unix时间戳转换为date的shell命令或脚本。 input可以来自第一个参数或来自stdin,允许以下使用模式: ts2date 1267619929 和 echo 1267619929 | ts2date 这两个命令都应该输出“Wed Mar 3 13:38:49 2010”。
是否有可能使用cp命令将单个文件复制到多个目录? 我尝试了以下,这是行不通的: cp file1 /foo/ /bar/ cp file1 {/foo/,/bar} 我知道可能使用for循环,或者find。 但是可以使用gnu cp命令吗?
我有一个像 AxxBCyyyDEFzzLMN 我想用_replace所有x和y和z ,以便输出 A_BC_DEF_LMN 怎么做? 我知道一系列的 echo "$string" | tr 'x' '_' | tr 'y' '_' 将工作,但我想一次去做,而不使用pipe道。 编辑:以下工作 echo "$string" | tr '[xyz]' '_'
假设你有一个包含IP地址的文件,每行一个地址: 10.0.10.1 10.0.10.1 10.0.10.3 10.0.10.2 10.0.10.1 您需要一个shell脚本来计算每个IP地址出现在文件中的次数。 对于之前的input,您需要以下输出: 10.0.10.1 3 10.0.10.2 1 10.0.10.3 1 一种方法是: cat ip_addresses |uniq |while read ip do echo -n $ip" " grep -c $ip ip_addresses done 然而,这远远没有效率。 你将如何更有效地使用bash解决这个问题? (有一件事要补充:我知道它可以从perl或awk中解决,我对bash有更好的解决scheme感兴趣,而不是那些语言。) 附加信息: 假设源文件为5GB,运行该algorithm的机器为4GB。 所以sorting不是一个有效的解决scheme,也不是多次读取文件。 我喜欢类似散列表的解决scheme – 任何人都可以提供改进的解决scheme? 其他信息#2: 有些人问,为什么我会在bash中用比如perl更简单的方式来做这件事。 原因是在机器上,我不得不做这个Perl不适合我。 这是一个定制的linux机器,没有我习惯的大部分工具。 我认为这是一个有趣的问题。 所以,请不要责怪这个问题,如果你不喜欢,就忽略它。 🙂
我在bash中编写一个脚本,用一个文件夹中的3个variablesparsing文件,这是其中之一: MINIENTREGA_FECHALIMITE="2011-03-31" MINIENTREGA_FICHEROS="informe.txt programa.c" MINIENTREGA_DESTINO="./destino/entrega-prac1" 该文件存储在./conf/prac1中 我的脚本minientrega.sh然后使用下面的代码parsing文件: cat ./conf/$1 | while read line; do export $line done 但是当我在命令行中执行minientrega.sh prac1 ,它不会设置环境variables 我也尝试使用source ./conf/$1但同样的问题仍然适用 也许有一些其他的方式来做到这一点,我只需要使用我通过的文件的环境variables作为我的脚本的参数。