相关疑难解决方法(0)

如何让 `ls` 以兆字节显示文件大小?

我需要什么命令让 Linuxls以 MB 为单位显示文件大小?

linux ls

684
推荐指数
2
解决办法
155万
查看次数

为什么循环查找的输出是不好的做法?

这个问题的灵感来自

为什么使用 shell 循环处理文本被认为是不好的做法?

我看到这些结构

for file in `find . -type f -name ...`; do smth with ${file}; done
Run Code Online (Sandbox Code Playgroud)

for dir in $(find . -type d -name ...); do smth with ${dir}; done
Run Code Online (Sandbox Code Playgroud)

几乎每天都在这里使用,即使有些人花时间对这些帖子发表评论,解释为什么应该避免这种东西......
看到此类帖子的数量(以及有时这些评论被简单地忽略的事实)我想我还不如问一个问题:

为什么循环find的输出是不好的做法,为 返回的每个文件名/路径运行一个或多个命令的正确方法是find什么?

find filenames files for

193
推荐指数
4
解决办法
3万
查看次数

根据大小递归排序文件

我需要在文件夹中找到最大的文件。
如何递归扫描文件夹并按大小对内容进行排序?

我试过使用ls -R -S,但这也列出了目录。
我也尝试使用find.

command-line ls find

104
推荐指数
6
解决办法
16万
查看次数

获取文件名中的扩展名

如何从 bash 获取文件扩展名?这是我尝试过的:

filename=`basename $filepath`
fileext=${filename##*.}
Run Code Online (Sandbox Code Playgroud)

通过这样做,我可以bz2从路径中获得扩展名/dir/subdir/file.bz2,但是我的路径有问题/dir/subdir/file-1.0.tar.bz2

如果可能的话,我更喜欢只使用 bash 而不使用外部程序的解决方案。

为了让我的问题更清楚,我正在创建一个 bash 脚本,只需通过extract path_to_file. 如何提取文件由脚本通过查看其压缩或存档类型来确定,可能是 .tar.gz、.gz、.bz2 等。我认为这应该涉及字符串操作,例如,如果我得到扩展名,.gz那么我应该检查它.tar之前是否有字符串.gz- 如果有,扩展名应该是.tar.gz.

shell bash filenames

43
推荐指数
4
解决办法
7万
查看次数

find 的 -exec 命令中的 {} + 是什么意思?

我想知道的含义{} +exec命令,之间有什么区别{} +{} \;。确切地说,这两者之间有什么区别:

find . -type f -exec chmod 775 {} +
find . -type f -exec chmod 775 {} \;
Run Code Online (Sandbox Code Playgroud)

find

32
推荐指数
3
解决办法
5万
查看次数

我可以找到所有扩展名为 .log 的文件并按文件大小排序吗?

我正在使用 CentOS 6.8

我想知道是否可以找到所有扩展名为 .log 的文件并按文件大小排序并在文件名旁边显示文件大小?

我目前正在使用此命令查找所有扩展名为 .log 的文件:

find .  -name \*.log
Run Code Online (Sandbox Code Playgroud)

linux command-line size find sort

9
推荐指数
2
解决办法
4万
查看次数

按尺寸排序

当我跑

ls | sort -S

我得到

sort : option requires an argument -- ´S´

为什么我无法使用排序选项按大小对文件列表进行排序?我知道我只能ls单独使用命令。

sort command

7
推荐指数
2
解决办法
5万
查看次数

命令 sort -h 不返回合理的结果

我尝试使用排序文件 sort -h

algorithms@algorithms:~$ ls -lh /boot | sort -h
drwxr-xr-x 5 root root 4.0K Dec 28 16:19 grub
-rw------- 1 root root 4.2M Dec  5 13:10 System.map-4.18.0-13-generic
-rw------- 1 root root 4.2M Nov 14 21:30 System.map-4.18.0-12-generic
-rw------- 1 root root 8.2M Dec  5 13:11 vmlinuz-4.18.0-13-generic
-rw------- 1 root root 8.2M Nov 14 21:50 vmlinuz-4.18.0-12-generic
-rw-r--r-- 1 root root 1.5M Nov 14 21:30 abi-4.18.0-12-generic
-rw-r--r-- 1 root root 179K Jan 28  2016 memtest86+.bin
-rw-r--r-- 1 root root   17 Nov 14 …
Run Code Online (Sandbox Code Playgroud)

ls sort

0
推荐指数
1
解决办法
84
查看次数

标签 统计

find ×4

ls ×3

sort ×3

command-line ×2

filenames ×2

linux ×2

bash ×1

command ×1

files ×1

for ×1

shell ×1

size ×1