我想要grep.
.... 但
find ... | xargs grep,因为 xargs 不评估别名。如何解决这个问题?
在文本处理字段中,有没有办法知道制表符的长度是 8 个字符(默认长度)还是更少?
例如,如果我有一个带有制表符分隔符的示例文件,并且一个字段的内容适合少于一个制表符 (?7),并且如果我之后有一个制表符,那么该制表符将只是“制表符大小 – 字段大小” '的长度。
有没有办法获得一行上标签的总长度?我不是在寻找标签的数量(即 10 个标签不应该返回 10),而是这些标签的字符长度。
对于以下输入数据(字段之间的制表符分隔且只有一个制表符):
field0 field00 field000 last-field
fld1 fld11 fld001 last-fld
fd2 fld3 last-fld
Run Code Online (Sandbox Code Playgroud)
我希望计算每行中标签的长度,所以
11
9
9
Run Code Online (Sandbox Code Playgroud) 我想找到当前目录的子目录,该目录(即子目录)包含 2 个或更多常规文件。
我对包含少于 2 个文件的目录不感兴趣,也不对只包含子目录的目录感兴趣。
我们这里有一个只读的 Bash 变量。我不允许取消设置该变量。
$ echo $TMOUT
1800
Run Code Online (Sandbox Code Playgroud)
作为一种解决方法,我写了这些行(我的会话不会退出)
#!/usr/bin/perl
$|++;
while (1) { print "\e[0n"; sleep 120; }
Run Code Online (Sandbox Code Playgroud)
CentOS7/RHEL7 存储库中是否有类似(如上面的 Perl 代码)的官方软件包 (rpm)?我不喜欢打开vim编辑器,我想要一个命令。
bash 手册页说明了有关read内置的以下内容:
退出状态为零,除非遇到文件尾
这最近咬了我,因为我-e设置了选项并使用以下代码:
read -rd '' json <<EOF
{
"foo":"bar"
}
EOF
Run Code Online (Sandbox Code Playgroud)
我只是不明白为什么在这种情况下非成功退出是可取的。在什么情况下这会有用?
我有一个像下面这样的文件..
abc, 12345
def, text and nos
ghi, something else
jkl, words and numbers
abc, 56345
def, text and nos
ghi, something else
jkl, words and numbers
abc, 15475
def, text and nos
ghi, something else
jkl, words and numbers
abc, 123345
def, text and nos
ghi, something else
jkl, words and numbers
Run Code Online (Sandbox Code Playgroud)
我想将其转换(加入)为:
abc, 12345, 56345, 15475, 123345
def, text and nos, text and nos,text and nos,text and nos
ghi, something else, something else, something else, something else
jkl, …Run Code Online (Sandbox Code Playgroud) 我想将目录从一个位置移动到另一个位置,但是当我这样做时,我可以看到时间戳已更改。有没有办法将时间戳保留为原始时间戳?
查看了手册页,mv但找不到任何现有选项。
给定一个包含唯一数字的排序输入文件(或命令输出),每行一个,我想将所有连续数字的运行折叠到范围内,这样
n
n+1
...
n+m
Run Code Online (Sandbox Code Playgroud)
变成
n,n+m
Run Code Online (Sandbox Code Playgroud)
输入样本:
2
3
9
10
11
12
24
28
29
33
Run Code Online (Sandbox Code Playgroud)
预期输出:
2,3
9,12
24
28,29
33
Run Code Online (Sandbox Code Playgroud) 考虑这个脚本:
#!/bin/sh
foo=1
if [[ ! -z $foo ]]; then
echo abc
fi
Run Code Online (Sandbox Code Playgroud)
它使用 Bash 语法 [[ ... ]] 当我在 Ubuntu (dash) 上使用默认 shell 运行它时,它不起作用(如预期)。但是,它的返回码仍然为零。
$ ./tmp.sh
./tmp.sh: 4: ./tmp.sh: [[: not found
$ echo $?
0
Run Code Online (Sandbox Code Playgroud)
如果我不能依赖退出代码,如何在脚本中检测这种错误?
"${2:-}" 在下面的“if-then-else 示例”中是如何工作的?不知何故,我不禁想到 ${2:-} 表示第二个参数,但我很好奇数字 2 后面的冒号 (:) 和破折号 (-) 是什么意思?
if [ "${2:-}" = "Y" ]; then
prompt="Y/n"
default=Y
elif [ "${2:-}" = "N" ]; then
prompt="y/N"
default=N
else
prompt="y/n"
default=
fi
read -p "$1 [$prompt] " REPLY </dev/tty
Run Code Online (Sandbox Code Playgroud)