小编lee*_*sky的帖子

为什么“ls”偶尔只输出“.” 在外部驱动器的根目录中?

在我的U盘根目录下,有时我运行时ls,输出正常,并列出文件。在其他时候,输出只是一行:

$ ls
.
Run Code Online (Sandbox Code Playgroud)

如果我ls -la在其中一次尝试,我会得到这个:

$ ls -la
ls: .: Invalid argument
Run Code Online (Sandbox Code Playgroud)

如果我ls多次背靠背运行,它似乎基本上是随机返回正常输出或异常输出。

ls似乎在其他目录中正常工作。ls $drivename即使在父目录中ls ..似乎也能正常工作,而在子目录中似乎也能正常工作。(虽然我不能 100% 确定那些“正常工作”的,因为行为是不确定的。)我尝试了另外两个外部 USB 驱动器并得到了相同的行为。

这里发生了什么?我使用的是 Mac OS X 10.11.3。

编辑:好主意,但我似乎没有使用别名,并/bin/ls给出相同的结果。

osx ls usb-drive

9
推荐指数
1
解决办法
1334
查看次数

重新排列列和操作文本文件的最简单方法

在学校学习 linux,目前正在处理文本文件。希望在此过程中在这里和那里学习一些捷径。目前我有一个包含以下内容的文本文件:

First    Last   111 E. Road    New York    NY
First2   Last2  222 w. Road    Newark      NJ
Run Code Online (Sandbox Code Playgroud)

我们应该编写一个脚本来重新排列列和逗号分隔而不是制表符分隔。我所做的只是剪切每个字段并将其放入自己的 tmpfile 中,然后粘贴在一起:

paste tmplast tmpfirst tmpstate tmpaddress | tr '\t' ',' > finished
Run Code Online (Sandbox Code Playgroud)

有没有比将所有内容剪切成 tmp 文件并粘贴在一起更快的方法?我对 linux 很陌生,我学到的用于操作文件的唯一命令是trsed

shell-script text-processing

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

在 bash 中嵌套 for 循环

你好,我想问你,我怎样才能在 bash 中写出完全相同的循环

for (int i = 0; i < a; i++) {
    for (int j = i; j < a; j++) {
        System.out.println(i + " " + j);
    }
}
Run Code Online (Sandbox Code Playgroud)

bash

-1
推荐指数
1
解决办法
2万
查看次数

标签 统计

bash ×1

ls ×1

osx ×1

shell-script ×1

text-processing ×1

usb-drive ×1