1
A
回答
1
这里的打印出的所有文件与至少15行名称的一种方法(假设你了GNU AWK,为nextfile
命令):
awk 'FNR==15{print FILENAME;nextfile}' *
这将产生一个错误的任何子目录,所以这并不理想。
虽然你并不想打印文件名。你想删除它们。你可以这样做,在awk
与system
功能:
# The following has been defanged in case someone decides to copy&paste
awk 'FNR==15{system("echo rm "FILENAME);nextfile}' *
0
有几个问题,你的解决方案:rm
不从标准输入接受输入,而且你只grep
发现没有究竟 14谁的文件线。试试这个:
find . -type f -maxdepth 1 | while read f; do [ `wc -l $f | tr -s ' ' | cut -d ' ' -f 2` -gt 14 ] && rm $f; done
下面是它如何工作的:
find . -type f -maxdepth 1 #all files (not directories) in the current directory
[ #start comparison
wc -l $f #get line count of file
tr -s ' ' #(on the output of wc) eliminate extra whitespace
cut -d ' ' -f 2 #pick just the line count out of the previous output
-gt 14 ] #test if all that was greater than 14
&& rm $f #if the comparison was true, delete the file
我试图找出只是用find
与-exec
一个解决方案,但我不能想出一个办法来测试行数。也许别人可以想出办法
+2
不要使用'for'遍历行,使用它遍历**字**。这将打破任何与空格的文件名。 'read line'是阅读线条的基本成语。 –
2
wc -l * 2>&1 | while read -r num file; do ((num > 14)) && echo rm "$file"; done
如果您对结果满意,请删除“echo”。
1
for f in *; do if [ $(wc -l $f | cut -d' ' -f1) -gt 14 ]; then rm -f $f; fi; done
相关问题
- 1. 删除包含文件的文件夹
- 2. 删除文件夹和包含文件
- 3. 如何删除每个仅包含一个文件夹的中间文件夹?
- 4. VBSCRIPT删除文件夹中包含多个文件进度条
- 5. 从另一个文件夹中包含的一个文件夹中删除文件
- 6. 删除包含的文件夹不是文件夹它自己?
- 7. 从文件夹和所有包含的子文件夹中删除txt文件
- 8. 从包含的文件夹中删除文件
- 9. 从包含变量的文件夹中删除文件名
- 10. 删除文件夹,如果它包含少于两个文件
- 11. 在linux上删除包含子文件夹和文件的文件夹
- 12. 双击时删除包含文件夹的bat文件?
- 13. 删除包含WAR文件的文件夹
- 14. 删除包含文件的文件夹节点js
- 15. 无法删除包含不可见文件的文件夹
- 16. 删除包含大量文件的文件夹
- 17. 如何删除超过特定时间的文件/文件夹
- 18. 如何删除cmd文件夹中的文件但不包含文件
- 19. 如何删除包含Java中其他文件夹的文件夹?
- 20. 删除的文件夹是空或包含从文本文件的.gitignore文件
- 21. 包含的文件,其中包括从另一个文件夹中的文件
- 22. 删除超过一天的文件
- 23. 的Linux移除文件夹中超过1年且超过3个文件
- 24. bash脚本 - 删除文件夹超过X天的除了一些和所有及其子文件夹/文件
- 25. 检查一个文件夹包含一个文件,该文件是文件的其他文件夹中复制
- 26. 在Arduino库中的文件夹中包含一个文件
- 27. 在C++中包含一个单独文件夹中的文件
- 28. 清除文件夹 - 删除文件夹中的文件 - J2ME
- 29. 批处理文件删除所有文本文件的文件夹中超过10天,除了某几个
- 30. 〜/ .felix文件夹中包含的文件
rm未读取标准输入。 – aioobe
无法为rm形成任何正则表达式,这可能表明该文件超过14行。 – dhvlnyk
@ diablo8226:正则表达式不做算术运算。字符串99与字符串14不匹配,但是字符串2148不匹配。 – rici