标签: echo

echo""> 和 > 命令之间的区别

我是 Linux 新手。有一些事情我不清楚。

echo "" > logfile和 和有> logfile什么区别?

当我运行第一个时,日志文件大小不会变为零,并且将创建具有 1 个字节大小的同名文件。对于第二个,日志文件大小将变为零,并且将创建具有 0 字节大小的同名文件。

在什么情况下应该使用不同的命令?

对我来说,当我想释放日志文件时,我会使用它。

shell io-redirection echo

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

Unix:如何从文件中读取行的原始内容

我有一个数据文件,内容如下:

department: customer service  section: A
department: marketing         section: A
department: finance           section: A
Run Code Online (Sandbox Code Playgroud)

当我阅读每一行时,我会使用cut命令提取部门名称。不幸的是,程序会自动trim将多余的空间全部删除,因此我错误地剪切了部门名称。

cat dept.dat | while read line
do
    echo $line
    echo $line | cut -c 12-29
done
Run Code Online (Sandbox Code Playgroud)

例如原始行是:

department: marketing         section: A
Run Code Online (Sandbox Code Playgroud)

虽然程序将此行视为:

department: marketing section: A
Run Code Online (Sandbox Code Playgroud)

如何在不修剪所有冗余空间的情况下读取该行?

echo cut trim

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

在 csv 文件中添加一个空的第一行

我通过将一些值“回显”到另一个 csv 中来将数据输入到 csv 中。

我试过 echo "" 并在下一行 echo "values" 但我得到间歇性的空行..

我只在开始时需要空行....

echo csv

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

即使 echo 是内置函数的外壳,为什么“$ sudo echo 'yo'”仍然有效?

我明白那个

sudo cd /directory
Run Code Online (Sandbox Code Playgroud)

将返回:

sudo: cd: command not found
Run Code Online (Sandbox Code Playgroud)

因为 cd 是内置的 shell 而不是二进制文件。但是,为什么

sudo echo 'this is a test'
Run Code Online (Sandbox Code Playgroud)

工作正常?

这里到底发生了什么?如果不是shell,如何sudo找到命令echo

shell sudo echo

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

背靠背管道成命令

有没有办法将值回传到命令中?例如,如果我可以command.pl并且想要输入response,然后y确认(因为它没有自动确认的方法)?

我试过echo "y" | echo "response" | ./command.pl但它不起作用,因为管道的顺序是从左到右。本质上,我需要先运行一个管道,然后再运行下一个命令。有括号或引号或其他东西的技巧吗?

bash pipe echo

6
推荐指数
3
解决办法
2507
查看次数

回显动态改变颜色的彩色文本

有什么方法可以在控制台上打印彩色文本,它会像一些问候语更改颜色的贺卡一样,不断动态地改变其颜色(有或没有指定的时间间隔)?

我知道使用打印彩色文本

echo eg: echo -e "\e[1;34m Hi dude, Welcome to the Matrix \e[0m" 
Run Code Online (Sandbox Code Playgroud)

但我希望这段文字不断改变颜色。

真的有可能吗?

scripting shell-script echo

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

'cat < file.txt' 和 'echo < file.txt' 之间的区别

我有一个名为 file.txt 的文件,它有一些内容说“abcdef”,当cat < file.txt我得到输出 abcdef 但当我这样做时echo < file.txt,没有输出返回。为什么输入重定向不适用于 echo 而适用于 cat?

io-redirection echo cat

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

为什么在使用引号时显示单个反斜杠

我一直认为 bash 在不带或带双引号的情况下对反斜杠的处理方式相同,但我错了:

[user@linux ~]$ echo "foo \ "
foo \
[user@linux ~]$ echo foo \ # Space after \
foo
Run Code Online (Sandbox Code Playgroud)

所以我认为在使用双引号时总是会打印反斜杠,但是:

[user@linux ~]$ echo "foo \" "
foo "
[user@linux ~]$ echo "foo \\ "
foo \
Run Code Online (Sandbox Code Playgroud)

为什么显示第一行代码中的反斜杠?

bash echo escape-characters

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

用换行符显示包含 \n 的标准输出

可执行文件 (cURL) 的输出包含 \n。如何用换行符显示这样的输出?

假设一个可执行文件的输出是tCL\n1523 memo\n,管道到 printf 不显示换行符。

$ echo "tCL\n1523 memo\n"
tCL\n1523 memo\n
$
$ printf "tCL\n1523 memo\n"
tCL
1523 memo
$
$ echo "tCL\n1523 memo\n" | xargs -0 printf '%s'
tCL\n1523 memo\n
$
$ echo "tCL\n1523 memo\n" | awk '{ printf "%s", $0 }
tCL\n1523 memo\n
Run Code Online (Sandbox Code Playgroud)

bash echo newlines

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

使用带有反斜杠 (\) 的 echo -e

我正在阅读 Unix 中的 echo 命令,但我在 -e 选项中对反斜杠 ( \) 转义字符感到困惑,我运行了以下两个示例:

echo "hello\\\\world"
Run Code Online (Sandbox Code Playgroud)

输出: hello\\world

现在使用 -e 运行相同的命令:

echo -e "hello\\\\world"
Run Code Online (Sandbox Code Playgroud)

输出: hello\world

那么带和不带-e选项的反斜杠字符的含义是什么?

问候

shell bash echo

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

标签 统计

echo ×10

bash ×4

shell ×3

io-redirection ×2

cat ×1

csv ×1

cut ×1

escape-characters ×1

newlines ×1

pipe ×1

scripting ×1

shell-script ×1

sudo ×1

trim ×1