shell参数列表过长的问题

shell参数列表过长的问题,第1张

while [[ $kloop -ne 1 ]] do #整数的比较用 -ne

gateway=`ping -c -w 1 %gtip|awk '/ttl/{print $1}'` #awk兼有grep的正则过滤功能

如果还报"bin/awk:参数列表过长",可以在awk前加xargs命令(如下),此命令生为解决此问题。

gateway=`ping -c -w 1 %gtip|xargs awk '/ttl/{print $1}'`

具体可以参考chinaunix论坛置顶的《shell基础十二篇》,参数过长的问题见第12篇中关于xargs的文章。

需要移动 460569份文件,直接mv 或者 rm 等,会提示参数列表过长。

使用

```

find . -type f -name 'pfam_scan_temp*.xls' -exec mv {} temp  \

```

可以 *** 作更多一下的文件,但是文件过多还是会提示,如果可以进一步筛选倒也是可以用。

这个更方便,grep 中间的temp替换成你想匹配的文件名,最后的temp是你想移动后的目标目录:

```

ls |grep temp | xargs -t -I {} mv {} temp

```

进行Linux系统维护的时候,想要在文本中快速搜索到你需要的东西,grep命令是非常不错的选择,它主要用于查找文件里符合条件的字符串,从而节省时间、提高工作效率。那么Linux系统中grep命令如何使用?我们一起来看看详细的内容介绍。

Linux grep命令用于查找文件里符合条件的字符串。

grep指令用于查找内容包含指定的范本样式的文件,如果发现某文件的内容符合所指定的范本样式,预设grep指令会把含有范本样式的那一列显示出来。若不指定任何文件名称,或是所给予的文件名为-,则grep指令会从标准输入设备读取数据。

语法

grep

[-abcEFGhHilLnqrsvVwxy][-A<显示行数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

参数

-a或--text:不要忽略二进制的数据。

-A<显示行数>或--after-context=<显示行数>:除了显示符合范本样式的那一列之外,并显示该行之后的内容。

-b或--byte-offset:在显示符合样式的那一行之前,标示出该行第一个字符的编号。

-B<显示行数>或--before-context=<显示行数>:除了显示符合样式的那一行之外,并显示该行之前的内容。

-c或--count:计算符合样式的列数。

-C<显示行数>或--context=<显示行数>或-<显示行数>:除了显示符合样式的那一行之外,并显示该行之前后的内容。

-d<动作>或--directories=<动作>:当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。

-e<范本样式>或--regexp=<范本样式>:指定字符串做为查找文件内容的样式。

-E或--extended-regexp:将样式为延伸的正则表达式来使用。

-f<规则文件>或--file=<规则文件>:指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。

-F或--fixed-regexp:将样式视为固定字符串的列表。

-G或--basic-regexp:将样式视为普通的表示法来使用。

-h或--no-filename:在显示符合样式的那一行之前,不标示该行所属的文件名称。

-H或--with-filename:在显示符合样式的那一行之前,表示该行所属的文件名称。

………………

参数较多,就不为大家一一讲解了!


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8972848.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-23
下一篇 2023-04-23

发表评论

登录后才能评论

评论列表(0条)

保存