我有temp一些小写和大写内容的文件。
我的temp文件内容:
hi
Jigar
GANDHI
jiga
Run Code Online (Sandbox Code Playgroud)
我想将所有upper转换为 lower。
我尝试了以下命令:
sed -e "s/[A-Z]/[a-z]/g" temp
Run Code Online (Sandbox Code Playgroud)
但得到了错误的输出。
我想要它:
hi
jigar
gandhi
jiga
Run Code Online (Sandbox Code Playgroud)
什么需要在论证的替代部分sed?
我有一个文件,f1.txt:
ID Name
1 a
2 b
3 g
6 f
Run Code Online (Sandbox Code Playgroud)
空格数不固定。仅使用一个空格替换所有空格的最佳方法是什么tr?
这是我到目前为止:
cat f1.txt | tr -d " "
Run Code Online (Sandbox Code Playgroud)
但输出是:
IDName
1a
2b
3g
6f
Run Code Online (Sandbox Code Playgroud)
但我希望它看起来像这样:
ID Name
1 a
2 b
3 g
6 f
Run Code Online (Sandbox Code Playgroud)
请尽量避免sed。
一位同事建议通过以下命令创建一个随机密钥:
tr -dc A-Za-z0-9_\!\@\#\$\%\^\&\*\(\)-+= < /dev/urandom | head -c 32 | xargs
Run Code Online (Sandbox Code Playgroud)
它给了我错误:
tr:非法字节序列
我担心/dev/urandom我的系统上没有。我试着用谷歌搜索找出如何安装这个文件,但我发现是空的。我试过了locate urandom,结果也是空的。(实际上,它找到了手册页,但这无济于事)
如何urandom在我的 Mac OSX 系统上使用?(狮子)
除了最后一个换行符之外,如何用空格替换所有换行符。我可以使用将所有换行符替换为空格,tr但除了一些例外我怎么做?
我正在尝试从文件(UTF-8)中删除一些字符。我tr为此目的使用:
tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat
Run Code Online (Sandbox Code Playgroud)
文件包含一些外来字符(如“??????????”或“àé”)。tr似乎不理解它们:它将它们视为非 alpha 并删除。
我试过更改我的一些语言环境设置:
LC_CTYPE=C LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat
LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=C tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat
LC_CTYPE=ru_RU.UTF-8 LC_COLLATE=ru_RU.UTF-8 tr -cs '[[:alpha:][:space:]]' ' ' <testdata.dat
Run Code Online (Sandbox Code Playgroud)
不幸的是,这些都没有奏效。
我怎样才能tr理解Unicode?
这是我得到的错误,它失败是因为一个变量的值应该是 2(我使用 a 得到这个select * from tabel)。我在那个变量中得到了空格。
+ 0 !=
2
./setjobs[19]: 0: not found.
Run Code Online (Sandbox Code Playgroud)
如何从该变量中删除所有这些空格或换行符?可以tr,,sed或任何帮助?
这就是我正在做的:
set_jobs_count=$(echo "set heading off;
select count(*) from oppar_db
where ( oppar_db_job_name, oppar_db_job_rec ) in ($var) ;" | \
sqlplus -s ${OP_ORA_USER}/${OP_ORA_PASS}@$OPERATIONAL_DB_NAME)
Run Code Online (Sandbox Code Playgroud)
这按建议工作:
| sed 's/[[:space:]]//g'
Run Code Online (Sandbox Code Playgroud)
但我仍然获得一个值,如:
set_jobs_count=
2
Run Code Online (Sandbox Code Playgroud) 我是 UNIX 的新手,我正在使用 Kirk McElhearn 的“Mac OS X 命令行”自学一些命令。
我正在尝试使用trandgrep以便我可以在常规 MS-Office Word 文档中搜索文本字符串。
$ tr '\r' '\n' < target-file | grep search-string
Run Code Online (Sandbox Code Playgroud)
但它返回的只是:
Illegal byte sequence.
Run Code Online (Sandbox Code Playgroud)
robomechanoid:Position-Paper-Final-Draft robertjralph$ tr '\r' '\n' < Position-Paper-Final-Version.docx | grep DeCSS
tr: Illegal byte sequence
robomechanoid:Position-Paper-Final-Draft robertjralph$
Run Code Online (Sandbox Code Playgroud)
我实际上在我创建的脚本上运行了同一行,vi并且它正确地进行了搜索。
我想生成一个随机密码,并且这样做:
</dev/urandom tr -dc [:print:] | head -c 64
Run Code Online (Sandbox Code Playgroud)
在我运行 Ubuntu 的笔记本电脑上,这仅产生预期的可打印字符。但是,当我通过 ssh 连接到运行 Red Hat Enterprise Linux 的学校服务器并在那里运行时,我得到类似 的输出3!ri?b?Gr???1?H?<?oM????&?nMC[?Pb?|L%MP?????9??fL2q???IFmsd|l?K,但根本无法执行。这里可能出了什么问题?
我有以下数据(从 Rmarkdown 文件解析的 R 包列表),我想将其转换为可以传递给 R 进行安装的列表:
d3heatmap
data.table
ggplot2
htmltools
htmlwidgets
metricsgraphics
networkD3
plotly
reshape2
scales
stringr
Run Code Online (Sandbox Code Playgroud)
我想将列表转换为以下形式的列表:
'd3heatmap', 'data.table', 'ggplot2', 'htmltools', 'htmlwidgets', 'metricsgraphics', 'networkD3', 'plotly', 'reshape2', 'scales', 'stringr'
Run Code Online (Sandbox Code Playgroud)
我目前有一个从原始文件到上面列表的 bash 管道:
grep 'library(' Presentation.Rmd \
| grep -v '#' \
| cut -f2 -d\( \
| tr -d ')' \
| sort | uniq
Run Code Online (Sandbox Code Playgroud)
我想添加一个步骤以将新行转换为逗号分隔列表。我试过添加tr '\n' '","',但失败了。我还尝试了以下 Stack Overflow 的一些答案,但也都失败了:
这产生library(stringr)))phics)了结果。
这产生,%了结果。
这个答案(-i去除了标志)产生与输入相同的输出。
我想用来tr做一些 rot13 转换。我可以很好地理解这个命令:
tr A-Za-z N-ZA-Mn-za-m <<< "URYC ZR CYRNFR"
Run Code Online (Sandbox Code Playgroud)
哪个输出是HELP ME PLEASE,但我不知道这个其他命令如何产生相同的 rot13 转换:
tr .............A-Z A-ZA-Z <<< "URYC ZR CYRNFR"
Run Code Online (Sandbox Code Playgroud)
所以我有两个问题:
tr命令背后的魔法是什么?