我正在构建一个函数来查找文件系统上的大型目录,并且包含该路径的每个数组元素中的该/n目录都被切断。/native/proc...我相信这与我使用“\n”作为我的 IFS 有关,但我不知道还能怎么做,因为如果没有它,它会将每一列分解成它自己的元素,这不是我想要的。我需要的是每个整行都在它自己的数组元素中,该命令如何自行打印:
[root@JBLGSMM001 ~]# du -k / 2> /dev/null | sort -n | tail -n 10
255452 /usr/share
332644 /native/proc/82974
342119 /native/proc/70315
344519 /native/proc/70310
388510 /native/usr
683983 /usr
1226993 /native/proc/45026
9597039 /native/proc
10035430 /native
10846908 /
Run Code Online (Sandbox Code Playgroud)
到目前为止的功能
where.isdisk () {
bigstuff=$(du -k / 2> /dev/null | sort -n | tail -n 10)
OLDIFS=$IFS
IFS="\n"
bigstuff=($bigstuff)
IFS=$OLDIFS
}
Run Code Online (Sandbox Code Playgroud)
该bigstuff变量按照我想要的方式设置,如下所示:
255452 /usr/share 332644 /native/proc/82974 342119 /native/proc/70315 344519 /native/proc/70310 388510 /native/usr 683983 /usr 1226989 /native/proc/45026 9772351 …Run Code Online (Sandbox Code Playgroud) 我正在构建一个函数,该函数将计算给定安培数、距离(以英尺为单位)和允许电压降所需的电线规格。
给定这些值,我可以计算出“圆形密耳”,从而得到AWG 要求。我开始构建一个大型if elif声明来将圆形密耳与其受人尊敬的仪表进行比较,但我相信这case是正确的工具。
我还没有找到任何用于比较数字的案例示例,所以我想知道是否可以执行以下操作:
what.gauge () {
let cmils=11*2*$1*$2/$3
let amils=17*2*$1*$2/$3
case $cmils in
320-403)
cawg="25 AWG"
;;
404-509)
cawg="24 AWG"
;;
510-641)
cawg="23 AWG"
;;
etc...
}
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用 make s curl 调用编写一个 bash 脚本并取回一个 json 文档。json 文档有一个名为的键access_token,我需要提取该字段的值。这是我的json文档
echo $json
{"access_token":"kjdshfsd", "key2":"value"}
Run Code Online (Sandbox Code Playgroud)
我没有jq安装。
我有一堆服务文件 /etc/systemd/service/myapp.*.service
每一个都有一条线,看起来像......
User=Foo
Run Code Online (Sandbox Code Playgroud)
...我需要更改所有这些 .service 文件,所以他们都说...
User=Bar
Run Code Online (Sandbox Code Playgroud)
我如何有效地做到这一点?
我有几个这样命名的文件: This is a test - AB12-1998.avi
(最后一个代码总是 2 个字母、2 个数字、破折号、4 位数字)
我想做的是像这样重命名它们: AB12-1998 - This is a test.avi
我很感激您可以使用 bash、重命名或任何其他方式为我提供的任何解决方案,只要它能完成工作。
我有以下信息,我希望它看起来像在带有标题的电子表格中。
cat TEXT-FILE.txt
SOMETHING5 : 11111111 : 1969-08-12 : 42.34
SOMETHING4 : 22222222 : 1969-08-12 : 700.12
SOMETHING3 : 333333333 : 1969-08-12 : 300.2
SOMETHING2 : 44444444444 : 1969-08-12 : 200.2
SOMETHING1 : 5555555555 : 1969-08-12 : 100.34
Run Code Online (Sandbox Code Playgroud)
这是我对脚本的了解
#!/bin/bash
for file in ./TEST-FILE.txt
do
sed -i -e "s/:/|/g" $file
sed -i '1iIdentify | Misc | Date | Amount | Confirmation ' $file
done
Run Code Online (Sandbox Code Playgroud)
现在的输出是:
Identify | Misc | Date | Amount | Confirmation
SOMETHING5 | 11111111 | 1969-08-12 | …Run Code Online (Sandbox Code Playgroud) 我有数百个文件夹pdf和xls(x)从合法电子发现系统大量导出的文件。这些导出中的文件名对应于 bates #,例如ABCD_00000001.pdf, ABCD_00000002.pdf, ... , ABCD_00002000.pdf. 这些批量导出pdf的每个 xls(x)文件都包含一个空白文件- 两者都具有完全相同的文件名。例如,ABCD_00000005.xlsx是在电子发现系统中生成的 xlsx 文件,并且ABCD_00000005.pdf是在批量导出中创建的无关的空白 pdf 文件。
这些无关的 .pdf 文件可能是由于运行这些批量导出的人员的用户错误造成的,但我通常无法控制流程的那一侧。所以我想知道是否有任何相对简单的方法来删除这些无关的 .pdf 而不强迫某人手动检查它们。
每当我将文件名作为参数放入命令行时,我只想 awk/sed 文件名的前缀。
例如,
我有多个文件:
a.fastq.gz
b.fastq.gz
c.fastq.gz
d.fastq.gz
Run Code Online (Sandbox Code Playgroud)
如果我执行:
sh test.sh --INFILE b.fastq.gz
Run Code Online (Sandbox Code Playgroud)
我想要的输出是:
b
Run Code Online (Sandbox Code Playgroud)
我尝试过但失败的是,
prefix="sed 's/.fastq//' ${INFILE}"
Run Code Online (Sandbox Code Playgroud) 我正在写一个函数,这将使一个REST API调用这可能是要么GET,PUT,DELETE,POST,等。
我想将此方法作为参数提供给函数,并将其添加到该单个函数调用的选项数组中。这可能吗?
目前我正在通过创建一个单独的local数组来解决这个问题,但更喜欢只使用单个options数组。
#!/bin/bash
options=(
--user me:some-token
-H "Accept: application/json"
)
some_func () {
local urn=$1
shift
local func_opts=("${options[@]}" "$@")
printf '%s\n' "${func_opts[@]}"
}
# This should return all options including -X GET
some_func /test -X GET
# This should return only the original options
printf '%s\n' "${options[@]}"
Run Code Online (Sandbox Code Playgroud)
我也可以使用一个临时数组来存储 的内容options,添加新选项,然后在函数结束之前重置它,但我认为这也不是一个特别干净的方法。
我熟悉在我的 .bashrc 中设置简单的别名,并认为它可能能够做我想做的事,但不太确定如何去做。愿望:总是回声$?在特定程序完成执行后。我想在打印出相当笨拙的 STDERR 消息之后运行它的特定程序,即使成功,这些消息乍一看也像是一个错误。我总是回声 $? 在我实际阅读这些内容之前作为第一次检查之后,但至少有四分之一的时间输入错误并失去回声机会。我想做的是设置一个别名,以便在我输入时
$ foo --option [argument]
Run Code Online (Sandbox Code Playgroud)
它实际上
$ foo --option [argument]
working blah blah blah
$ echo $?
Run Code Online (Sandbox Code Playgroud)
这可能吗?