我的客户告诉我他们已经在Ubuntu Linux服务器的VMWare中克隆了一个虚拟机。 现在,我的工作是进入所有的文件,并找出还有什么旧的服务器名称“主教”,并将其改为别的。 此外,IP地址已更改,我也需要search。 你通常如何使用find,grep,awk或sed来查找这些文件,然后迅速更改它们? 最后,我想制作一个Bash脚本。 当然,我不希望你告诉我每一个文件,但只是想知道find“X”文件的技术,然后用“Y”快速切换。
我有一个日志文件,有像下面的条目。 我只想find比给定时间更新的日志条目。 什么将是一个合适的shell脚本呢? [2013-06-23 21:31:19,972] INFO [2013-06-23 21:31:20,148] INFO [2013-06-23 21:31:20,148] INFO [2013-06-23 21:31:20,195] INFO
我试图从我的apache日志文件中获得一些意义:我想parsing我的访问日志,并有一些关于200 status code命中(每个命中多less次)的统计信息。 所以我试着学习一些awk的魔法,在这里我现在得到了: grep "HTTP/1.1\" 200" access.log | awk '{print $7 } ' | sort | uniq -c | sort -n 这是我要做的大部分事情:从access.log中select以200次命中结束的所有日志条目,然后select与生成的命中path对应的部分,对它们进行sorting,对每个唯一元素进行计数并根据数字进行sorting这个独特元素被击中的时代。 所以结果如下所示: 1 /public/img/upload/image_3.jpg 2 /public/img/upload/image_2.jpg 8 /public/img/upload/image_1.jpg 18 /public/js/main.js 33 / 236 /index.html 我试图进一步推动它: 因为我有logrotate,我有许多其他文件,如access.log.1, …, access.log.N ,我想获得统计所有这些统计。 我find的唯一的解决scheme是使用grep "my 200 expression" -R /pathToDirWithLogs这将grep目录中的所有文件,这显然是不好的,因为它不仅会logginggrep。 列出文件也不是一个选项,因为我不知道数字N. 我真的不关心/ public / img / upload /中的每个单独的文件,我只关心其中有多less人被击中。 […]
希望了解以下命令中的特殊字符或通配符: /sbin/ifconfig eth0 | awk -F ' *|:' '/inet addr/{print $4}' 下面的代码是什么意思? awk -F ' *|:' '
我想过滤一个grep命令的结果,例如: myRepo/path/to/my/file.php:123: error_log(' – myError'); 如果我做了以下,它的作品。 echo“myRepo / path / to / my / file.php:123:error_log(' – myError');” | awk -F':''{print $ 1}' 但是当它是grep命令的结果时,它会输出整行,为什么? grep -rn“myError”| awk -F':''{print $ 1}' 我有CentOS 6与Awk 3.1.7,bash 4.1.2
我需要从file2中提取所有以file1中包含的id#前缀开头的行。 文件1是单列,如: 324 399 408 135236 321590 文件2是多列的,如: 1 [tab] 108 [tab] Anarchist [tab] 103985 … 324 [tab] 309 [tab] Melodies [tab] 230498 什么是从File2中提取这些行的最简单的方法?
我试图编写这个命令在屏幕上运行,另外两个将使用cat来读取文件,然后将其pipe道到awk过滤。 这是命令; screen -d -m /bin/cat /var/www/html/filter/unfiltered.txt | awk '{print $1}' > /var/www/html/filter/first.txt 如果我检查分离的屏幕,我看到它过滤列表,当它完成时,文件first.txt创build,但空。 我在屏幕上看到了一些关于使用-L的输出日志,但是我希望输出到非过滤列表所在的文件夹中,并且调用first.txt ,我不知道为什么它会成功运行,但是输出文件每次都是空的。 如果我运行它没有screen -d -m创build的文件不是空的。 我想我用屏幕命令丢失了一些东西。 我刚开始使用屏幕。 我不知道什么时候发布。
我有一个input: 1 2 3 4 5 6 7 8 我想从这个input中只检索N个第一行和M个最后一行。 例如,如果N是2,M是4,我想要的结果是: 1 2 5 6 7 8 线可以重叠,所以如果N是6,M是4,我希望输出等于我的input。 我曾尝试使用awk,没有运气: cat input | awk "{if (NR<2 || NR>count – 4) {print}}"
我正在做一个脚本,其中我需要testing一个string,并根据其结果,我会决定如果我走得更远或不。 下面的命令工作正常(如果string以“清洁”开始,它将打印1,否则0)。 echo | awk ' {print index("'"${task}"'", "Clean")}' 我想要做的是在BASH脚本中使用带有IF的AWK。 基于这个职位,我做了以下几点: idx=$(awk '{print index("'"${task}"'", "Clean")}') echo $idx if [ "$idx" == "0" ]; then echo hello fi 正如我所说,当我运行脚本它打印“0”,但第二个“回声”不打印任何东西,当然,如果不起作用。 谁能帮我? TIA, 短发
我有一个备份目录,如下所示: -rw-r–r– 1 ftpuser ftponly 5610595 May 27 00:01 alpha-114.tar.asc -rw-r–r– 1 ftpuser ftponly 50559368 May 27 00:04 beta-211.tar.asc -rw-r–r– 1 ftpuser ftponly 61320807 May 27 00:06 gamma-387.tar.asc -rw-r–r– 1 ftpuser ftponly 43125044 May 27 00:07 epsilon-241.tar.asc -rw-r–r– 1 ftpuser ftponly 1107110560 Apr 26 04:33 zeta-7728.tar.asc -rw-r–r– 1 ftpuser ftponly 1107136555 Apr 27 00:29 zeta-7729.tar.asc […]