假设我有一个如下的文本文件
abcd
aaaaaaa
gfgk
hahahahahahhahh
gf
Run Code Online (Sandbox Code Playgroud)
然后gf会被退回。有什么好主意吗?
我需要找出 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)。
我试图了解 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
我需要能够搜索数千个 XHTML 和 XML 文件并查看第一行不包含以下字符串的文件列表:
<?xml version="1.0" encoding="utf-8"?>
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?我以为我可以在 Notepad++ 中使用 Search in Files 功能来执行此操作,但是我看不到任何方法来查找未找到和/或格式正确的字符串并让它输出文件列表。
我有一个只包含一行的文件
$> 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命令都可以做到这一点?谢谢。
比如我试图寻找二者的发生hello world,并goodbye world在同一直线上。我已经尝试了一堆不同的迭代。例如,如果你想找到一个多字串,你可以把它放在括号里,/\<hello world\>但我不知道如何对多个多字串进行多次检查
我试过了
/\<\(hello world \& goodbye world\)\>
这也不是
/\<hello world\>\&\<goodbye world\>
我很想知道为什么我的脚本在 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 但我仍然遇到同样的问题。
以此已解决的问题为基础: 查找字符串中的第一个非数字字符
在该问题中,OP 请求有关 Excel 公式的帮助,该公式将返回字符串中第一个非数字字符的位置。这本身就非常有用,并且获得了一个非常干净的解决方案:
{=MATCH(TRUE,ISERROR(VALUE(MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1))),0)}
Run Code Online (Sandbox Code Playgroud)
问题是我正在寻找此解决方案的变体,但这不会排除小数分母或千分母.和,。
我几个小时以来一直在寻找一个优雅的解决方案,但我还没有完全实现,所以任何帮助将不胜感激!