linux - 如何防止 grep 打印尾随换行符?

标签 linux grep newline

我正在使用 grep 生成将由另一个程序解析的输出。

但是,该程序期望输出仅为数字或零字节。

现在 grep 在其输出后输出一个换行符。我已经检查了 -Z 选项,但它似乎不起作用,因为我正在使用 grep 进行计数 (-c)。

我在 sh 中执行,而不是 bash。所以将它嵌套到 echo -n "$(grep -c pattern)" 中也不起作用。

我怎样才能去掉尾随的换行符?

最佳答案

使用tr -d删除字符串中的字符:

$ grep -c ' ' /etc/passwd | tr -d '\n'
69$ grep -c ' ' /etc/passwd | tr -d '\n' | xxd 
0000000: 3639                                     69
$ 

关于linux - 如何防止 grep 打印尾随换行符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7249755/

相关文章:

linux - 为什么proc进程比其他进程快?

linux - mobaXterm 如何知道 x11 转发是否在远程服务器上工作?

javascript - 在 Linux 中将二进制文件的前 100 个字节打印为 uint8

php - 我可以在每个语句中跨多行编写 PHP 代码吗?

c - 在 Windows 和 Linux 中使用 fscanf 时行尾的字符不同

linux - 运行 shell 脚本以获得正确的进程数

regex - 使用 Grep 捕获正数和负数

linux - 无法从文件中仅 grep 10 位数字

regex - bash 正则表达式 : how to match n times using 'grep' or 'ls'

windows-phone-7 - 需要时在 TextBlock 中添加新行