小编thr*_*eaz的帖子

Sed和美元符号

"Unix编程环境"声明在sed中使用正则表达式的'$'意味着行尾,这对我来说很好,因为

cat file | sed 's/$/\n/'
Run Code Online (Sandbox Code Playgroud)

被解释为"在每行末尾添加换行符".

问题出现了,当我尝试使用命令时:

cat file | sed '$d'
Run Code Online (Sandbox Code Playgroud)

这条线不应该删除每一行而不是最后一行吗?在此上下文中,美元符号表示最后一行的结尾.我错了什么?

bash escaping sed

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

如何确定变量的大小限制?

我正在努力确定每个变量的边缘大小.我无法理解以下问题.

例如,为了获得char的最大值,我使用:~ 0 >> 1 哪个应该像这样工作:

  1. 将0转换为二进制:0000 0000(我假设char存储在8位)
  2. 否定它:1111 1111(现在我已经超出了char max size)
  3. 向右移动一个地方:0111 1111(我得到127似乎是正确的)

现在我想用printf函数呈现这个结果.为什么我必须像这样使用演员: printf("%d\n", (unsigned char)(~0) >> 1)

我只是不明白.当我离开char范围时,我认为它与第2点有关,但我不确定.

如果你向我提出更复杂的解释,我将不胜感激.

c variables limits

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

标签 统计

bash ×1

c ×1

escaping ×1

limits ×1

sed ×1

variables ×1