小编tur*_*tle的帖子

展平嵌套目录

这可能很简单,但我无法弄清楚。我有一个这样的目录结构(dir2 在 dir1 中):

/dir1
    /dir2 
       |
        --- file1
       |
        --- file2
Run Code Online (Sandbox Code Playgroud)

以这样的方式“扁平化”这个导演结构的最佳方法是在 dir1 而不是 dir2 中获取 file1 和 file2。

directory cp recursive rename files

91
推荐指数
5
解决办法
6万
查看次数

如何使用列来分隔制表符而不是空格?

我想使用 Unixcolumn命令来格式化一些文本。我有由制表符分隔的字段,但在每个字段中也有空格。column分隔空白(制表符和空格)。如何使列仅使用制表符作为分隔符?

我试图使用以下命令将制表符指定为分隔符:

cat myfile | column -t -s"\t"
Run Code Online (Sandbox Code Playgroud)

command-line text-processing quoting columns

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

在另一个文件中匹配模式后从文件内嵌插入文本

我正在尝试使用 sed 获取文件的内容并将其插入到另一个文件中的匹配模式之后。我的问题与此问题非常相似,但我希望插入文件的内联内容而不是新行。我怎样才能做到这一点?

使用我引用的示例问题,第一个答案正是我想要的;但是,我希望插入发生内联:

sed '/First/r file1.txt' infile.txt 
Run Code Online (Sandbox Code Playgroud)

我要插入的实际数据是一个 JSON 文件:

[
    {
        "foo": "bar", 
        "baz": "biff",
        "data": [
            {
                "a": 1945619, 
                "b": [
                    {
                        "c": 512665, 
                        "d": "futz"
                    }
                ]
            }
        ]
    }
]
Run Code Online (Sandbox Code Playgroud)

sed awk text-processing

8
推荐指数
3
解决办法
8370
查看次数

删除所有目录中的所有 Vim 撤消文件

我刚刚意识到.un~我的文件系统周围散布着大量 Vim 撤消 ( ) 文件。我想删除所有这些文件,除了一个目录 - ~/.tmp. 我的第一个问题是我似乎找不到删除这些东西的 Unix 命令。例如,我有一个如下所示的文件名:

.myfile.txt.un~

我试过,rm -f *.unrm -f *.un\~rm -f *.un*,等我似乎无法找到可以删除这些文件中的任何命令。如何删除这些文件?

其次,我想用 find 写一个命令,它可以访问我所有的目录并删除这些文件,~/.tmp目录除外。我很害怕执行这个命令,以防它出错。任何人都可以帮助构建一个 find 命令来做到这一点吗?在此先感谢您的帮助!

vim find wildcards rm

6
推荐指数
1
解决办法
1744
查看次数

如何查找和/或打印 sudo 的讲座文件?

我正在使用 Ubuntu,我想查找和/或打印用户第一次执行 sudo 命令时打印到屏幕上的 sudo 讲座。我怎样才能做到这一点?我找不到讲座文件。

sudo

6
推荐指数
1
解决办法
6597
查看次数

从单个 grep 输出多个文件?

我在 shell 脚本方面不是很有经验,但我试图了解如何为模式和每个匹配的文件进行 grep 将文件写入磁盘,其中包含来自 grep 的匹配行。例如:

$ grep -E "MY PATTERN" myfile{1,3}
Run Code Online (Sandbox Code Playgroud)

然后写出包含匹配行的新文件:

matches-myfile1
matches-myfile2
matches-myfile3
Run Code Online (Sandbox Code Playgroud)

这可能吗?我怎样才能做到这一点?我正在寻找答案是 bash 或 zsh。

shell grep bash zsh

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

从两个文件中查找给定列中的公共元素并输出每个文件中的列值

我有两个带有制表符分隔值的文件,如下所示:

文件 1:

A    1
B    3
C    1
D    4
Run Code Online (Sandbox Code Playgroud)

文件2:

E    1
B    3
C    2
A    9
Run Code Online (Sandbox Code Playgroud)

我想在文件 1 和 2 之间找到第 1 列中的字符串相同的行,然后获取相应的值。所需的输出是一个看起来像这样的文件:

B    3    3
C    1    2
A    1    9
Run Code Online (Sandbox Code Playgroud)

这可以用 Unix one-liner 来完成吗?

awk comm join

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

计算两个字段相等的出现次数

是否可以编写一个 awk one-liner 来比较同一行上的两个字段以查看它们是否相等,并输出正确的行数?

我试过:

awk '$1==$2 { print($1 $2); }' foo1 | wc -l     
Run Code Online (Sandbox Code Playgroud)

我不认为这是正确的。

awk

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

标签 统计

awk ×3

text-processing ×2

bash ×1

columns ×1

comm ×1

command-line ×1

cp ×1

directory ×1

files ×1

find ×1

grep ×1

join ×1

quoting ×1

recursive ×1

rename ×1

rm ×1

sed ×1

shell ×1

sudo ×1

vim ×1

wildcards ×1

zsh ×1