标签: string

如何使用shell获取文本文件中最短的字符串

假设我有一个如下的文本文件

abcd
aaaaaaa
gfgk
hahahahahahhahh
gf
Run Code Online (Sandbox Code Playgroud)

然后gf会被退回。有什么好主意吗?

linux shell string

3
推荐指数
2
解决办法
5055
查看次数

使用 AWK 获取 LVM 大小?

我需要找出 image 的 LVM 大小vm001。假设我有一个名为/dev/VGgroup/vm001. 现在使用lvdisplay我可以找出大小:

--- Logical volume ---
  LV Name                /dev/VGgroup/vm001
  VG Name                VGgroup
  LV UUID                i0aYKs-Hpfv-q64V-9Rqu-6Wrq-eV3C-pZzo0D
  LV Write Access        read/write
  LV Status              available
  # open                 2
  LV Size                25.00 GB
  Current LE             6400
  Segments               1
  Allocation             inherit
  Read ahead sectors     auto
  - currently set to     256
  Block device           253:41
Run Code Online (Sandbox Code Playgroud)

如何使用仅输出的脚本/命令找出 LV 大小25?我知道awk你可以水平地找到字符串,但不能垂直地(据我所知)。

编辑 有更多的逻辑卷,使用lvdisplay | awk '/LV Size/ { print $3 }'将输出所有大小(显然),我如何只获得我想要的卷的大小?(在这种情况下vm001)。

linux regex awk lvm string

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

Windows 批处理中的字符串替换

我试图了解 Windows 批处理中的字符串替换实际上是如何工作的并且遇到了问题。

@echo off
set var=wild
set varnew=%var:l=n%
echo var is: %var%
echo varnew is: %varnew%
Run Code Online (Sandbox Code Playgroud)

确实有效;它生成预期的输出:

var is: wild
varnew is: wind
Run Code Online (Sandbox Code Playgroud)

但这不是(示例目录“Main”):

@echo off
for /D %%G IN (*) do (
    setlocal
    echo G is: %%G
    set _srcp=%%G
    echo _srcp is %_srcp%
    rem set _newp=%_newp:ai=_01_% <-- confused variable
    set _newp=%_srcp:ai=_01_%
    echo._newp is: %_newp%
    endlocal
                     )
Run Code Online (Sandbox Code Playgroud)

它生成此输出:

G is: Main
_srcp is Main
_newp is: %_srcp:ai=_01_
Run Code Online (Sandbox Code Playgroud)

我希望代码生_newp is: M_01_n成为最后一行。我在这里真的没有想法,有人可以指出我正确的方向吗?

BB

windows batch find-and-replace string

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

如何搜索任何不包含正确 XML 根元素的文件?

我需要能够搜索数千个 XHTML 和 XML 文件并查看第一行不包含以下字符串的文件列表:

<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?我以为我可以在 Notepad++ 中使用 Search in Files 功能来执行此操作,但是我看不到任何方法来查找未找到和/或格式正确的字符串并让它输出文件列表。

search xml regex xhtml string

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

如何在 bash 脚本中连接字符串、文件内容和字符串?

我有一个只包含一行的文件

$> cat file.txt
apple,orange,cat,dog
Run Code Online (Sandbox Code Playgroud)

我需要给它附加两个 String 并将它分配给一个变量,一个在前面,另一个在最后,这样它就变成了:

var=key,apple,orange,cat,dog,ending
Run Code Online (Sandbox Code Playgroud)

这样我就可以在其他地方使用 $var ...

我可以知道我怎么能在 bash 脚本中做到这一点吗?或者任何linux命令都可以做到这一点?谢谢。

linux bash string concatenation

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

如何在vim中搜索多个多字串?

比如我试图寻找二者的发生hello world,并goodbye world在同一直线上。我已经尝试了一堆不同的迭代。例如,如果你想找到一个多字串,你可以把它放在括号里,/\<hello world\>但我不知道如何对多个多字串进行多次检查

我试过了

/\<\(hello world \& goodbye world\)\>

这也不是

/\<hello world\>\&\<goodbye world\>

linux vim regex string

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

使用 Bash Windows 子系统错误的字符串连接

我很想知道为什么我的脚本在 Windows 子系统 linux 下不能按预期工作。

我的商店版本:(Debian GNU/Linux 9.6 (stretch)我也试过 ubuntu,结果相同)

我的 bash 版本: GNU bash, version 4.4.12(1)-release (x86_64-pc-linux-gnu)

这是我的基本脚本,仅用于显示问题:

PROJECT_ENV="development"
echo $PROJECT_ENV
compose_file="docker-compose.${PROJECT_ENV}.build.yml"
echo $compose_file
Run Code Online (Sandbox Code Playgroud)

它输出:

.build.ymlpose.development
Run Code Online (Sandbox Code Playgroud)

据我了解,该输出对我来说没有任何意义,我尝试重新安装 bash 但我仍然遇到同样的问题。

linux bash string concatenation windows-subsystem-for-linux

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

查找字符串中的第一个非数字字符,但不排除小数分母

以此已解决的问题为基础: 查找字符串中的第一个非数字字符

在该问题中,OP 请求有关 Excel 公式的帮助,该公式将返回字符串中第一个非数字字符的位置。这本身就非常有用,并且获得了一个非常干净的解决方案:

{=MATCH(TRUE,ISERROR(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),0)}
Run Code Online (Sandbox Code Playgroud)

问题是我正在寻找此解决方案的变体,但这不会排除小数分母或千分母.,

我几个小时以来一直在寻找一个优雅的解决方案,但我还没有完全实现,所以任何帮助将不胜感激!

worksheet-function string microsoft-excel

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