Articles of awk

用新行字符replace空间用于stream浪盒

我正在尝试使用shell脚本在我存储key和cert文件的地方设置vagrant框。 任何证书或密钥文件的正常格式如下 —–BEGIN CERTIFICATE—– MIIDzzCCAregAwIBAgIJAP384f0KeRndMA0GCSqGSIb3DQEBCwUAMH4xCzAJBgNV …. 0+ZQ+Yxjzs69VHdPJbzu3cxjNQ== —–END CERTIFICATE—– —–BEGIN PRIVATE KEY—– MIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQC6qoE3hNniDqD7 …. wr5wa+bGBgNzIBLS5j9F9Kul —–END PRIVATE KEY—– 但是,当我检查stream浪汉盒子,看起来像下面。 —–BEGIN CERTIFICATE—– MIIDzzCCAregAwIB ….. 69VHdPJbzu3cxjNQ== —–END CERTIFICATE—– —–BEGIN PRIVATE KEY—– MIIEvgIBADANBgkqhki …. OB7jnwaqq wr5wa+bGBgNzIBLS5j9F9Kul —–END PRIVATE KEY—– (基本上,一切都在一行) 由于哪个Apache2在日志中有错误。 现在我想将这些键转换为适当的格式。 我做了下面的尝试 cat server.crt | tr " " "\n" cat server.crt | tr "\ /" " " […]

在文件中的列上运行(vertical?)diff

在我们公司,我们从第三方提取库存文件。 这些文件是固定的格式,包含13位EAN(想想UPC代码)以及其他数据。 我在我们的数据库中也有EAN的主要列表。 我想将主文件与新文件进行比较,并从新文件中删除所有包含EAN的行,这不在主文件中。 例如:主人 1234567890123 4567890123456 新文件1234567890123 4567890123456 5678901234567 < – 删除这一个 新文件包含EAN以外的数据。 EAN在第一列。 数据以制表符分隔。 我目前正在做这个在PHP中。 问题是这两个文件有大约4百万。 每个行,我的脚本消耗大量的内存。 我目前加载整个主列表到RAM和做isset()s。 有什么聪明的Linux技巧/程序可以帮助我吗?

是否有可能从AWK插入数据到MySQL

我可以在awk代码中使用mySQL吗? 基本上我想在这个职位的数据AWKED 进入Mysql数据库

从RT_SiteConfig.pmparsing$ DatabasePassword的值

我正在编写一个Bash shell脚本来每天备份我们的请求跟踪器(RT)MySQL数据库。 而不是在shell脚本中对MySQL数据库用户的密码进行硬编码,我想从RT的RT_SiteConfig.pm文件中parsing它。 RT_SiteConfig.pm中的相关行如下所示: Set($DatabasePassword , 'db_pw_here'); 给出上面一行,只提取string“db_pw_here”的“最干净的”方法是什么?

在ldapsearch查询上使用sed或awk消毒date

我想pipe一个ldapsearch的输出来清理返回的date – 我认为sed和/或awk可以帮助这个,但是会感谢一些帮助。 LDIF输出文件中的固定长度date格式如下所示: whenCreated: 20111209103130.0Z 任何使用这种格式的指针都会很棒: whenCreated: DD-MM-YY hh:mm 例如(使用上面的例子): whenCreated: 09-12-2011 10:31

切割文件的相关部分

我想从一个特定的模式开始,并以特定的模式结束的二进制文件的一些部分。如何在Linux中使用bash来做到这一点。可以使用sed或awk来完成? 我有一个像下面给出的文件。 bd = 0x422e90e0ff4abc00 pad = 0x82 offset = 0x05 dst = 00:0d:bc:03:6d:80 src = 00:50:a2:df:e8:1c etype = 0x0800 ip:version = 4 headerwords = 5 tos = 32 length = 142 ip:id = 201 flags = 0x2 fragmentoffset = 0 ip:ttl = 117 protocol = 6 checksum = 0x0000 ip:sourceaddress = 36.190.253.236 ip:destinaddress = […]

删除所有不包含冒号的词语

我有这种types的行的文件: blabla bla:bla whatever what:ever alpha bravo charlie del:ta 我只想保留包含冒号的单词。 所以上面的输出是: bla:bla what:ever del:ta 有没有人有任何想法?

只有当值在行尾时,grep +匹配值

请咨询我的代码有什么问题,(我在OS Linux和solaris上运行这个代码) 我不明白: "file ended with .tmp" 例: 我需要validation$ FILE以.tmp或.old等结尾… 用下面的例子代码设置参数:FILE = hosts.tmp 所以我希望grep会匹配“.tmp ”,因为.tmp是最后一个字符 对于“TEMP”,“previos”或“-old”等其他TOKENS也是如此 代码(ksh脚本) TOKENS=".tmp .old .previous -log temp ,TEMP -OLD previos" FILE=hosts.tmp for TOKEN in ` echo $TOKENS ` do [[ ` echo $FILE | grep -c '$TOKEN$' ` -eq 1 ]] && echo "file ended with $TOKEN" done

需要与具有PowerShell和/或Perl的Windows机器的nmap,awk和grep等效的命令

请参阅此线程以供参考 如何使用nmap和Zenmap扫描以特定string开头的所有主机名? 在上面的线程中的答案之一使用下面的查询(我完全不记得该命令): nmap -sL -oG – 192.168.0.0/24 | awk'$ 3〜/ ^(org / {print $ 2}'| nmap -iL -` 它扫描所有以org开头的主机名节点,并返回一个匹配节点列表。 它在Unix / Linux环境下效果很好,但是我需要一个Windows的等价物。 我不想在Windows上使用awk,sed或grep包。 我想保持一个标准,并使用PowerShell和/或Perl。 有没有一个等效的方式来构build这个查询使用PowerShell和/或Perl,以及nmap?

在MB中查找总的PHP使用情况

我试图找出我的CentOS服务器上所有PHP进程使用的内存总量。 经过一番awking之后,这是我最后的命令。 ps -e | grep php | awk '{print $1}' | xargs pmap | grep total | awk '{print $2}' | sed 's/K//' | awk '{SUM += $1} END {print SUM/1024}' 现在,理论上这应该是有效的,因为我以K的总ram输出,总结它然后分开,那就是我的MB。 问题是,这是返回 12493.5 那是12GB! 他们没有办法使用12GB的服务器只有4GB。 编辑:根据pmap的手册页, -x开关显示扩展的信息。 http://linux.die.net/man/1/pmap 在这个视图中有一列叫做Dirty。 这是正确的列吗? 当我在肮脏的列上炫耀时,我得到: 1294.1 这对我来说会更有意义。 但我不知道肮脏的列是否是正确的。