小编A-K*_*A-K的帖子

Bash 4.3.33中的字符串替换(小写)-错误的替换错误

我正在尝试使用bash中的字符串替换将大写字母更改为小写字母,但是我遇到了严重的替换错误。

> a=HEY
> echo $a 
HEY 
> echo ${a,,}
-bash: ${a,,}: bad substitution
# desired output is hey
Run Code Online (Sandbox Code Playgroud)

我已经看到了与此类似的问题,但是在大多数情况下,这归因于使用早期版本的bash。我正在使用GNU bash 4,但仍然遇到相同的问题。

> bash --version
GNU bash, version 4.3.33(1)-release (x86_64-apple-darwin14.1.0)
Run Code Online (Sandbox Code Playgroud)

这可能是Mac的东西吗?任何帮助,将不胜感激。

string bash replace lowercase substitution

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

对于大写字母后跟下划线,排序命令无法按预期工作

我正在对用户名列表进行排序。当字母为小写时,排序命令按预期工作。

小写的预期和实际输出:

n
n_123
na
na_123
Run Code Online (Sandbox Code Playgroud)

当字符为大写并后跟下划线时,事情会变得很奇怪。

大写的预期输出:

N
N_123
NA
NA_123
Run Code Online (Sandbox Code Playgroud)

使用sort大写的实际输出:

N
NA
NA_123
N_123
Run Code Online (Sandbox Code Playgroud)

我以为我可以解决这个问题

env LC_COLLATE=C sort $file
Run Code Online (Sandbox Code Playgroud)

但没有骰子。

使用env LC_COLLATE=C sort 的实际输出:

N
NA
NA_123
N_123
Run Code Online (Sandbox Code Playgroud)

我在 Mac OS X 10.12.3 上运行 GNU bash,版本 4.4.12(1)-release (x86_64-apple-darwin16.3.0)

任何帮助将非常感激。

sorting bash collation collate

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

标签 统计

bash ×2

collate ×1

collation ×1

lowercase ×1

replace ×1

sorting ×1

string ×1

substitution ×1