相关疑难解决方法(0)

find:缺少-exec的参数

今天我用一个命令得到了帮助,但它似乎没有起作用.这是命令:

find /home/me/download/ -type f -name "*.rm" -exec ffmpeg -i {} -sameq {}.mp3 && rm {}\;
Run Code Online (Sandbox Code Playgroud)

shell返回

find: missing argument to `-exec'
Run Code Online (Sandbox Code Playgroud)

我基本上要做的是递归遍历一个目录(如果它有其他目录)并对.rm文件类型运行ffmpeg命令并将它们转换为.mp3文件类型.完成此操作后,删除.rm刚刚转换的文件.

我很感激任何帮助.

bash shell arguments exec find

198
推荐指数
6
解决办法
20万
查看次数

只使用md5sum获取哈希值(不带文件名)

我使用md5sum为文件生成哈希值.但我只需要接收哈希值,而不是文件名.

md5=`md5sum ${my_iso_file}`
echo ${md5}
Run Code Online (Sandbox Code Playgroud)

3abb17b66815bc7946cefe727737d295 ./iso/somefile.iso

我怎样才能"删除"文件名并仅保留值?

bash shell md5sum

158
推荐指数
9
解决办法
11万
查看次数

如何使用bash测试Internet连接?

如何在不ping某些网站的情况下测试互联网连接?我的意思是,如果有连接但网站已关闭怎么办?有检查与世界的联系吗?

connection bash ping

98
推荐指数
10
解决办法
22万
查看次数

读取行循环后的Shell脚本在第一行后停止

我有以下shell脚本.目的是循环到目标文件的每一行(其路径是脚本的输入参数)并对每一行进行操作.现在,它似乎只适用于目标文件中的第一行,并在该行被处理后停止.我的剧本有什么问题吗?

#!/bin/bash
# SCRIPT: do.sh
# PURPOSE: loop thru the targets 

FILENAME=$1
count=0

echo "proceed with $FILENAME"

while read LINE; do
   let count++
   echo "$count $LINE"
   sh ./do_work.sh $LINE
done < $FILENAME

echo "\ntotal $count targets"
Run Code Online (Sandbox Code Playgroud)

do_work.sh,我运行了几个ssh命令.

ssh bash shell while-loop

86
推荐指数
4
解决办法
5万
查看次数

我需要我的sed -i命令进行就地编辑才能使用GNU sed和BSD/OSX sed

我有一个makefile(在Linux上为gmake开发),我试图移植到OSX,但似乎sed不想合作.我所做的是使用GCC自动生成依赖文件,然后使用sed稍微调整一下.makefile的相关部分:

$(OBJ_DIR)/%.d: $(SRC_DIR)/%.cpp
  $(CPPC) -MM -MD $< -o $@
  sed -i 's|\(.*\)\.o:|$(OBJ_DIR)/\1.o $(OBJ_DIR)/\1.d $(TEST_OBJ_DIR)/\1_utest.o:|' $@
Run Code Online (Sandbox Code Playgroud)

虽然这在GNU/Linux下没有遇到麻烦,但在尝试构建OSX时会出现如下错误:

sed: 1: "test/obj/equipmentConta ...": undefined label 'est/obj/equipmentContainer_utest.d'
sed: 1: "test/obj/dice_utest.d": undefined label 'est/obj/dice_utest.d'
sed: 1: "test/obj/color-string_u ...": undefined label 'est/obj/color-string_utest.d'
Run Code Online (Sandbox Code Playgroud)

看起来sed正在砍掉一个角色,但我看不到解决方案.

macos gnu sed inplace-editing

59
推荐指数
6
解决办法
4万
查看次数

如何使用find递归转换JPG图像?

基本上我想做的是递归搜索工作目录,然后使用给定的路径来调整图像大小.例如,找到所有*.jpg文件,将其大小调整为300x300并重命名为whatever.jpg.

我是否应该采取一些行动$(find | grep *.jpg)来获取路径?当我这样做时,输出是没有用引号括起来的目录,这意味着我必须在它有用之前插入它们,对吧?

directory bash recursion find

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