草庐IT

BASH_SOURCE

全部标签

linux - 使用 bash 处理大量数据

我必须使用bash脚本处理文件夹中的大量txt文件。每个文件包含数百万行,它们的格式如下:文件#1:enample_1200itexample_324arexample_5500fr.bexample_4570fr.cexample_239en.nbample_610文件#2:deexample_34uk.nexample_550de.nexample_470ukexample_29enample_179en.nbample_61...我必须按“en”或“en.n”过滤,在第二列中找到重复出现的地方,对第三列求和并得到这样的排序文件:enample_1279en.nbample_611

linux - bash/linux 的简单一行,检查 PNG 是否有效?

pngcheck几乎是完美的。但在其最简单的形式中,pngcheck输出一行以OK:或ERROR:开头的行。这意味着我必须解析输出字符串,我宁愿只检查返回值。我查看了pngcheck.c源代码,对PNG有效性进行彻底检查是一项艰巨的任务-不仅仅是一个魔数(MagicNumber)检查。所以目前我能做的最好的事情就是创建一个简单的pngcheck.sh调用pngcheck并解析输出字符串,然后是exit0或exit1相应地。但我想检查是否有一个简单或更“巴松”的解决方案。谢谢! 最佳答案 查看源代码后,我认为您可以使用$?在许多she

linux - Bash 19 个字符无缘无故消失

我试图制作一个批处理脚本来压缩我的音频文件,但我遇到了一个非常奇怪的问题。这是我的代码:#!/bin/bashqscale=$1input=$2output=$3inputSize=$((${#input}+1))find"$input"-typef-name"*.flac"-print0|whileread-d$'\0'adopath=${a:inputSize}echo"Workingon$path"#ffmpeg-i"$a"-qscale:a$qscale"$output/${path[@]/%flac/mp3}"&>/dev/nulldone这是一个结果示例:Workingon

linux - 如何使用 bash 获取字符串中函数的内容?

我已经搜索过这个特定问题,但找不到任何有用的信息。假设我在~/.bashrc中定义了以下函数(注意:这是伪代码!):ANDROID_PLATFORM_ROOT="/home/simao/xos/src/"functiongetPlatformPath(){echo"$ANDROID_PLATFORM_ROOT"}functionaddCaf(){#Medoingstuffecho"blah/$(getPlatformPath)"}functionaddAosp(){#Medoingstuffecho"aosp/$(getPlatformPath)"}functionaddXos(){#

linux - 是否可以编写一个在 bash/shell 和 PowerShell 中运行的脚本?

我需要创建一个集成脚本来设置一些环境变量,使用wget下载文件并运行它。挑战在于它需要是可以在WindowsPowerShell和bash/shell上运行的相同脚本。这是shell脚本:#!/bin/bash#downloadascriptwgethttp://www.example.org/my.script-Omy.script#setacoupleofenvironmentvariablesexportscript_source=http://www.example.orgexportsome_value=floob#nowexecutethedownloadedscriptb

linux - Bash 函数中的 Cd

我关于SO的第一个问题,如果做错了什么,我深表歉意!互联网上有很多关于在脚本中使用cd的问题,但我的问题是在我放入.bashrc的bash函数中使用cd。它的任务是找到一个文件并转到该文件的工作目录。如果找到多个文件,我只转到第一个文件。在这里:fcd(){cd$PWDif[-z"$1"];thenecho'Specifyafilenametofind'elsefound_dir=$(find.-name$1-typef-printf\"%h/\"-quit)echo$found_dirif[-z"$found_dir"];thenecho"Nofilefound.Directoryw

linux - 使用另一个 bash 命令输出的 bash 命令

我在谷歌云有一组机器。来self的本地主机:gcloudcomputeinstance-groupslist-instancesworkersOUTPUT:NAMEZONESTATUSworkers-lya2us-central1-aRUNNINGworkers-23d4us-central1-aRUNNING...workers-3asd3us-central1-aRUNNING我想要一个来自该列表的随机工作人员名称(比如workers-23d4),它是来自第一个命令的区域us-central1-m并将其粘贴到此命令:gcloudcompute--project"my-project

linux - 从 bash 脚本添加 ssh 并自动输入密码

我正在尝试从脚本执行ssh-add(目前不关心安全性)。现在ssh提示输入密码,这需要自动化,所以我读了一些东西,比如this并找到expect.现在我执行以下操作:eval`ssh-agent-s`脚本tmp.sh定义为:#!/usr/bin/expectspawnssh-add/root/.ssh/id_rsaexpect"Enterpassphrasefor/root/.ssh/id_rsa:"send"my_pass"interact./tmp.shssh-add-l如果ssh-add可以正常工作,它会显示类似4096SHA256:wlfP/nhVSWXLcljBOen5GSY

linux - 如何分离 bash 文件生成的每个命令的输出?

假设我们有一个如下所示的bash脚本:echotestls-alhpwdechotest2因此文件可以有任意数量的命令,每个命令产生或不产生自己的输出。然后上面的文件像这样运行/bin/bash-xetest.sh将产生以下输出:+echotesttest+ls-alhtotal32drwx------+6danielsstaff204BApr323:33.drwxr-xr-x+64danielsstaff2.1KApr401:53..-rw-r--r--@1danielsstaff6.0KApr323:33.DS_Storedrwxr-xr-x5danielsstaff170BMar

linux - 关闭窗口时不写入 Bash 命令历史记录

我发现在我的笔记本电脑上安装的“bashforubuntuforwindows”在我重启“bashforubuntuforwindows”后无法加载命令历史。更准确地说,如果我打开终端,并输入一些命令,那么我在这个终端session中输入的所有命令都可以通过箭头键找到。但是,如果我关闭(通过单击右上角的“x”)终端并重新打开它,我将找不到之前通过箭头键键入的任何命令。有没有人对此有任何想法?非常感谢。 最佳答案 您需要通过键入exit或Ctrl+d来离开shell,而不仅仅是关闭窗口。exit将隐式写入历史记录,您可以随时使用his