基于名称
回答
对于正则表达式的解决方案:
/feed_([4-9][0-9]{4}|[1-9][0-9]{5,})\.txt/g
这将匹配适合以下两种格式的字符串:
feed_ab.txt
,其中a
是从4-9
和b。数位是四位数字(为的情况下40000 < =数字< = 99999或
feed_cd.txt
,其中c
是来自1-9
的数字d d是五位或更多位数(对于100000 < =数字的情况)。
您可以使用此awk
根据检查获得与价值观>= 40000
文件名:要循环这些文件名使用
printf "%s\n" feed_[0-9]* | awk -F '[_.]+' '$2 >= 40000'
:
while read -r file; do
printf "processing %s\n" "$file"
done < <(printf "%s\n" feed_[0-9]* | awk -F '[_.]+' '$2 >= 40000')
你可以做
find . -type f -name "feed_*" | awk -F"_" '$2+0>=40000' # => list of file names...
你可以使用查找正则表达式开关:
find . -type f -regextype posix-awk -regex ".*/feed_([4-9]|[123][0-9])[0-9]{4,}\.txt"
真棒回答先生,从来不知道这个选项也存在于发现,非常不错感谢分享它。 – RavinderSingh13
'-regextype'是GNU只能作为注释找到的。 – dawg
@dawg:默认情况下,regextype是emacs,你可以像这样写正则表达式,而不用这个开关,这里只用来缩短模式:'。*/feed _ \([4-9] \ | [123] [0-9] \)[0-9] [0-9] [0-9] [0-9] + \。txt' –
好的,这里是我的方法(作为一个学习和实验与exec和awk)。以下是命令。
find -type f -exec awk --re-interval 'FILENAME ~ /feed_[4-9][0-9]{4,}.txt/ && !a[FILENAME]++{;print FILENAME} END{if(FILENAME ~ /feed_[4-9][0-9]{4,}.txt/ && !a[FILENAME]++){print FILENAME}}' {} \;
因此以下是相同点。
I-我使用的第一件事--re-interval支持{4,}找到连续出现的0-9数字,但在更新版本的awk中可以删除。
II-1多学习,我知道了
a- When using \; at last of command it will read the empty size files BUT
b- When using \+ it will NOT display the 0 size files BECAUSE
c- We all know \+ collects all the files first then it will perform mentioned action in single shot, so obviously END section will pick only the last file and other files which have ZERO size will NEVER be read.
编辑:添加命令的非班轮一个形式现在也。
find -type f -exec awk --re-interval \
'FILENAME ~ /feed_[4-9][0-9]{4,}.txt/ && !a[FILENAME]++{;print FILENAME} \
END{if(FILENAME ~ /feed_[4-9][0-9]{4,}.txt/ && !a[FILENAME]++){print FILENAME}}' {} \;
- 1. 基于名称
- 2. 基于名称
- 3. 名称基于缩略表名称
- 4. 删除基于名称
- 5. 合并基于行名称
- 6. 删除基于名称
- 7. R:基于与行名称
- 8. 基于名称.NET 4.0
- 9. 基于表名的Concatinate SEQUENCE/TRIGGER名称
- 10. 基于文件夹中已有的名称创建名称为
- 11. 基于变量名称的名称列表元素R
- 12. 基于类视图的干净,基于名称的网址
- 13. 的R - 如何基于grepping行名称
- 14. 删除行基于不包含名称
- 15. 基于名称的C#显示组件
- 16. 基于网页名称的HTAccess重写?
- 17. 删除基于名称的文件夹
- 18. 基于列值的表名称
- 19. 基于Apache名称的虚拟主机
- 20. 删除基于名称的jQuery验证
- 21. 基于变量列名称的子集
- 22. R基于名称的组合列
- 23. 基于作者名称的Wordpress主题
- 24. 模板功能:基于类型名称
- 25. 基于名称的虚拟主机
- 26. 基于条目在MySQL月份名称
- 27. 基于数据名称的CSS?
- 28. 选择获取基于ID的名称
- 29. 选择基于名称的QtreeWidgetItem
- 30. 基于属性名称的AutoMapper条件
您可能会考虑'awk' – dawg
您应该针对特定问题提出具体问题。由于Stack Overflow隐藏了你的密切原因:*“有些问题要求我们推荐或查找书籍,工具,软件库,教程或其他非本地资源,因为它们倾向于吸引自以为是的答案和垃圾邮件,因此不适合Stack Overflow。 “* – jww
jww im对不起,我不明白你的反对意见,你可以请解释 – appleLover