如果我有一个看起来像这样的字符串:
"this_is_the_string"
Run Code Online (Sandbox Code Playgroud)
在 bash 脚本中,我想将其转换为 PascalCase,即 UpperCamelCase,如下所示:
"ThisIsTheString"
Run Code Online (Sandbox Code Playgroud)
我发现可以像这样转换为lowerCamelCase:
"this_is_the_string" | sed -r 's/([a-z]+)_([a-z])([a-z]+)/\1\U\2\L\3/'
Run Code Online (Sandbox Code Playgroud)
不幸的是,我对正则表达式不够熟悉,无法修改它。
编辑:我有数据采集硬件,它通过 UART 将串行数据发送到 FTDI(串行到 USB)设备中。FTDI 插入 USB 端口,其端口名称为/dev/ttyUSB0. 该设备以下列格式输出数据:
data line 1\r
data line 2\r
...
data line n\r
Run Code Online (Sandbox Code Playgroud)
我尝试使用 screen 通过输入以下命令来查看数据:
screen /dev/ttyUSB0 115200
Run Code Online (Sandbox Code Playgroud)
屏幕开始在一行上显示所有数据,所以我看到一行在闪烁。如何在每行末尾添加换行符,以便屏幕开始分隔行?
原文:我正在使用一个串行设备,它只用回车符来终止行。是否可以将屏幕配置为为每个 cr 字符添加一个 nl(换行符)字符?
谢谢...
编辑:无法在屏幕上使用此功能,picocom 效果很好。我使用以下命令picocom -b 115200 --imap crcrlf /dev/ttyUSB0。
如果我可以在我的 bash shell 中做到这一点:
$ STRING="A String"
$ echo ${STRING^^}
A STRING
Run Code Online (Sandbox Code Playgroud)
如何将命令行参数更改为大写?
我试过:
GUARD=${1^^}
Run Code Online (Sandbox Code Playgroud)
该行产生该行的错误替换错误。
我正在尝试使用 gnome 终端(Ubuntu)在 VIM 中使用日晒配色方案。当我在没有 tmux 的情况下运行 vim 时,它看起来很棒,见下文:

如果我将以下命令添加到我的 .bashrc
# tmux configuration
tmux attach &> /dev/null
if [[ ! $TERM =~ screen ]]; then
exec tmux
fi
Run Code Online (Sandbox Code Playgroud)
并用 tmux 启动终端,颜色看起来不对,见下图:

这是 .tmux.conf 文件的内容
source ~/.local/lib/python2.7/site-packages/powerline/bindings /tmux/powerline.conf
set-option -g default-terminal "screen-256color"
set-option -g history-limit 10000
Run Code Online (Sandbox Code Playgroud)
我使用https://github.com/altercation/vim-colors-solarized作为 vim 配色方案,终端是:https://github.com/Anthony25/gnome-terminal-colors-solarized。
编辑:使用 tmux:
~$ echo $TERM
screen
Run Code Online (Sandbox Code Playgroud)

没有 tmux:
~$ echo $TERM
xterm
Run Code Online (Sandbox Code Playgroud)

该find命令应该允许排除目录。我尝试了以下命令。
find -name "clang" -not -path "./mnt/*
Run Code Online (Sandbox Code Playgroud)
它仍在搜索目录。我错过了什么?