小编mtk*_*mtk的帖子

如何有效获取脚本的执行时间?

我想显示脚本的完成时间。

我目前做的是——

#!/bin/bash
date  ## echo the date at start
# the script contents
date  ## echo the date at end
Run Code Online (Sandbox Code Playgroud)

这只是显示脚本开始和结束的时间。是否可以显示像处理器时间/ io 时间等细粒度的输出?

bash profiling

523
推荐指数
13
解决办法
70万
查看次数

如何在vim中将当前行放在屏幕的顶部/中心/底部?

任何更快的导航技巧将光标所在的行放置到

  • 屏幕顶部?
  • 屏幕中央?
  • 屏幕底部?

vim keyboard-shortcuts vi scrolling

174
推荐指数
2
解决办法
6万
查看次数

如何大写命令行参数?

我搜索了 SO,发现将以下字符串大写是可行的

str="Some string"
echo ${str^^}
Run Code Online (Sandbox Code Playgroud)

但是我试图在命令行参数上做类似的事情,这给了我以下错误

试过

#!/bin/bash
             ## Output
echo ${1^^}  ## line 3: ${1^^}: bad substitution
echo {$1^^}  ## No error, but output was still smaller case i.e. no effect
Run Code Online (Sandbox Code Playgroud)

我们怎么能做到这一点?

bash string case-sensitivity

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

如何将不区分大小写的模式与 ls 匹配?

我想列出与某个模式匹配的所有文件,同时忽略大小写。

例如,我运行以下命令:

ls *abc*
Run Code Online (Sandbox Code Playgroud)

我想查看所有将“abc”作为文件名一部分的文件,忽略大小写,例如

-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file1abc.txt
-rw-r--r-- 1 mtk mtk 0 Sep 21 08:12 file2ABC.txt
Run Code Online (Sandbox Code Playgroud)

笔记

我已经在手册页中搜索了案例,但找不到任何内容。

ls shell wildcards case-sensitivity

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

从文件中删除最后一行

sed 用来快速删除具有特定位置的行

sed '1d'
sed '5d'
Run Code Online (Sandbox Code Playgroud)

但是,如果我想删除文件的最后一行并且我不知道行数(我知道我可以使用wc和其他一些技巧来获得它)怎么办。

目前,使用一种解决方法 withheadtail结合 withwc来做到这一点。这里有什么快速曲折吗?

sed text-processing

74
推荐指数
5
解决办法
17万
查看次数

在 shell 通配符中使用 OR 模式

我的目录的内容是

$ ls -lrt
total 0
-rw-r--r-- 1 user1 admin 19 Oct  8 12:31 night.txt
-rw-r--r-- 1 user1 admin 19 Oct  8 12:31 noon.txt
-rw-r--r-- 1 user1 admin 38 Oct  8 12:31 day.txt
Run Code Online (Sandbox Code Playgroud)

我想列出文件名中包含指定单词的文件的详细信息。

例子 :

$ ls -lrt *day|night*
ls: *day: No such file or directory
bash: night.txt: command not found
Run Code Online (Sandbox Code Playgroud)

预期输出

-rw-r--r-- 1 user1 admin 19 Oct  8 12:31 night.txt
-rw-r--r-- 1 user1 admin 38 Oct  8 12:31 day.txt
Run Code Online (Sandbox Code Playgroud)

如何列出与 2 个不同部分匹配的不同文件,或者简而言之如何使用 regex with ls,以便我可以OR获取文件名部分。 …

ls shell bash zsh wildcards

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

为什么允许 rm 删除其他用户拥有的文件?

来自帖子为什么 rm 可以删除只读文件?我明白那个rm只需要对目录的写权限即可删除文件。但是我发现很难消化我们可以轻松删除所有者和分组不同的文件的行为。

我尝试了以下

mtk : 我的用户名
abc : 创建了一个新用户

$ ls -l file
-rw-rw-r-- 1 mtk mtk       0 Aug 31 15:40 file
$ sudo chown abc file
$ sudo chgrp abc file
$ ls -l file
-rw-rw-r-- 1 abc abc       0 Aug 31 15:40 file
$ rm file
$ ls -l file
<deleted>
Run Code Online (Sandbox Code Playgroud)

我在想这不应该被允许。用户应该只能删除其所有权下的文件吗?有人可以解释为什么允许这样做吗?避免这种情况的方法是什么?我可以认为只限制父目录的写权限以禁止意外删除文件。

permissions history architecture rm files

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

如何使用 seq(1) 以相反的顺序显示数字?

我以各种顺序迭代数字。我能够以递增的顺序显示它们,即使是这样的步骤:

$ seq --separator="," 1 10
1,2,3,4,5,6,7,8,9,10
$ seq --separator="," 1 2 10
1,3,5,7,9
Run Code Online (Sandbox Code Playgroud)

我也能够以相反的顺序显示它们,既不是连续的也不是逐步的。

$ seq --separator="," 10 1   
$ seq --separator="," 10 2 1
Run Code Online (Sandbox Code Playgroud)

上述命令没有输出。

我的外壳详细信息:

$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
Run Code Online (Sandbox Code Playgroud)

让我知道如何以降序显示数字?

command-line seq

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

如何将当前文件名插入 Vim 的内容中?

经过一番搜索,我知道:echo @%在 vim-screen 的底行显示当前文件名。

我想将文件名(带和不带完整路径)转储到文件的内容中而不离开vim.

有没有办法做到这一点?

vim

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

多个包含和排除的树命令

您能否举一个使用 tree 命令过滤结果的示例,如下所示:

  • 忽略目录(例如binunitTest
  • 仅列出某些具有扩展名的文件(例如.cpp, .c, .hpp, .h
  • 仅提供符合条件的结果文件的完整路径名。

tree command-switch

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