小编use*_*541的帖子

将下划线转换为 PascalCase,即 UpperCamelCase

如果我有一个看起来像这样的字符串:

"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)

不幸的是,我对正则表达式不够熟悉,无法修改它。

shell-script

32
推荐指数
5
解决办法
2万
查看次数

可以为每个(回车)筛选添加 nl(换行)

编辑:我有数据采集硬件,它通过 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。

gnu-screen

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

Bash 脚本命令行参数为大写

如果我可以在我的 bash shell 中做到这一点:

$ STRING="A String"
$ echo ${STRING^^}
A STRING
Run Code Online (Sandbox Code Playgroud)

如何将命令行参数更改为大写?

我试过:

GUARD=${1^^}
Run Code Online (Sandbox Code Playgroud)

该行产生该行的错误替换错误。

bash shell-script

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

使用 tmux 时,VIM 曝光配色方案看起来不对

我正在尝试使用 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)

在此处输入图片说明

vim tmux gnome-terminal

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

find 命令似乎没有排除指定的目录

该find命令应该允许排除目录。我尝试了以下命令。

find -name "clang" -not -path "./mnt/*
Run Code Online (Sandbox Code Playgroud)

它仍在搜索目录。我错过了什么?

find -not -path 的输出

find

-3
推荐指数
1
解决办法
545
查看次数

标签 统计

shell-script ×2

bash ×1

find ×1

gnome-terminal ×1

gnu-screen ×1

tmux ×1

vim ×1