Questions tagged «string»

字符串操作:提取字符串的一部分,替换文本,格式化为给定的宽度等。

8
如何测试变量是否为空或仅包含空格?
以下bash语法验证是否param不为空: [[ ! -z $param ]] 例如: param="" [[ ! -z $param ]] && echo "I am not zero" 没有输出,它的罚款。 但是,当param一个(或多个)空格字符为空时,情况就不同了: param=" " # one space [[ ! -z $param ]] && echo "I am not zero" 输出“我不为零”。 如何更改测试以将仅包含空格字符的变量视为空?

21
如何生成随机字符串?
我想生成一个随机字符串(例如密码,用户名等)。应该可以指定所需的长度(例如13个字符)。 我可以使用哪些工具? (出于安全和隐私方面的考虑,字符串最好是离线生成,而不是在网站上在线生成。)
209 password  string  random 


5
如何大写命令行参数?
我搜索了SO,发现将下面的字符串大写即可 str="Some string" echo ${str^^} 但是我试图在命令行参数上做类似的事情,这给了我以下错误 试过了 #!/bin/bash ## Output echo ${1^^} ## line 3: ${1^^}: bad substitution echo {$1^^} ## No error, but output was still smaller case i.e. no effect 我们该怎么做?


9
bash-用新行替换空间
如何在输入中用换行符替换空格: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 等等... 要获得以下内容: /path/to/file /path/to/file2 /path/to/file3 /path/to/file4 /path/to/file5 注意 我正在发布此问题以帮助其他用户,在我开始键入此问题之前,要在UNIX SE上找到有用的答案并不容易。之后,我发现了以下内容: 相关问题 如何查找并替换为新行?

2
grep在变量上
假设我有一个变量 line="This is where we select from a table." 现在我想重复一下句子中选择的次数。 grep -ci "select" $line 我尝试过,但是没有用。我也试过 grep -ci "select" "$line" 它仍然不起作用。我收到以下错误。 grep: This is where we select from a table.: No such file or directory
58 shell  grep  string 

5
通过第一次出现的分隔符分割字符串
我有以下格式的字符串 id;some text here with possible ; inside 并希望在第一次出现时将其拆分为2个字符串;。因此,应为:id和some text here with possible ; inside 我知道如何分割字符串(例如,使用cut -d ';' -f1),但是由于我;位于左侧,因此它将分割为更多部分。


3
测试字符串是否包含子字符串
我有代码 file="JetConst_reco_allconst_4j2t.png" if [[ $file == *_gen_* ]]; then echo "True" else echo "False" fi 我测试是否file包含“ gen”。输出为“ False”。真好! 问题是当我用变量替换“ gen”时testseq: file="JetConst_reco_allconst_4j2t.png" testseq="gen" if [[ $file == *_$testseq_* ]]; then echo "True" else echo "False" fi 现在输出为“ True”。怎么会这样?如何解决问题?

12
在数字中添加千位分隔符
在python中 re.sub(r"(?<=.)(?=(?:...)+$)", ",", stroke ) 用三元组拆分数字,例如: echo 123456789 | python -c 'import sys;import re; print re.sub(r"(?<=.)(?=(?:...)+$)", ",", sys.stdin.read());' 123,456,789 bash / awk怎么做?


1
为什么string命令不会停止?
该strings命令的行为很奇怪,显然,即使驱动器空间不足,它也不会停止写入文件。还是我想念什么? 我运行以下命令: # strings /dev/urandom > random.txt 这一直保持运行,甚至在填充磁盘后也没有停止(常规USB闪存)。 为了更快,我创建了一个ramdisk并再次尝试了相同的命令。它也没有停止。 我知道这urandom不是一个常规文件,而且strings的输出也被重定向,但是在以上两种情况下,cat当没有更多空间时,该命令都会报告错误。 # cat /dev/urandom > random.txt cat: write error: No space left on device 这是字符串的正常行为吗?如果是这样,为什么? 没有剩余空间后,数据将写入哪里?
30 linux  shell  string 

2
验证变量的长度
我必须验证读取的变量的长度(我的脚本限制为插入的五个字符),我在想这样的事情: #!/bin/bash read string check=${#string} echo $check if [ $check -ge 5 ]; then echo "error" ; exit else echo "done" fi 还有更“优雅”的解决方案吗?
27 bash  shell  string 


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.