这可能很简单,但我无法弄清楚。我有一个这样的目录结构(dir2 在 dir1 中):
/dir1
/dir2
|
--- file1
|
--- file2
Run Code Online (Sandbox Code Playgroud)
以这样的方式“扁平化”这个导演结构的最佳方法是在 dir1 而不是 dir2 中获取 file1 和 file2。
我想使用 Unixcolumn命令来格式化一些文本。我有由制表符分隔的字段,但在每个字段中也有空格。column分隔空白(制表符和空格)。如何使列仅使用制表符作为分隔符?
我试图使用以下命令将制表符指定为分隔符:
cat myfile | column -t -s"\t"
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 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) 我刚刚意识到.un~我的文件系统周围散布着大量 Vim 撤消 ( ) 文件。我想删除所有这些文件,除了一个目录 - ~/.tmp. 我的第一个问题是我似乎找不到删除这些东西的 Unix 命令。例如,我有一个如下所示的文件名:
.myfile.txt.un~
我试过,rm -f *.un,rm -f *.un\~,rm -f *.un*,等我似乎无法找到可以删除这些文件中的任何命令。如何删除这些文件?
其次,我想用 find 写一个命令,它可以访问我所有的目录并删除这些文件,~/.tmp目录除外。我很害怕执行这个命令,以防它出错。任何人都可以帮助构建一个 find 命令来做到这一点吗?在此先感谢您的帮助!
我正在使用 Ubuntu,我想查找和/或打印用户第一次执行 sudo 命令时打印到屏幕上的 sudo 讲座。我怎样才能做到这一点?我找不到讲座文件。
我在 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。
我有两个带有制表符分隔值的文件,如下所示:
文件 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 one-liner 来比较同一行上的两个字段以查看它们是否相等,并输出正确的行数?
我试过:
awk '$1==$2 { print($1 $2); }' foo1 | wc -l
Run Code Online (Sandbox Code Playgroud)
我不认为这是正确的。