linux - 使用 2 个参数在 BASH 中执行 C 程序

标签 linux bash shell csv

我有一个需要两个参数的 C 程序可执行文件。第一个参数是 abc.dat 文件,第二个参数是 abc.csv 文件。该程序输入.dat 文件并将其转换为.csv 文件。 .dat 在运行程序时存在,它创建 .csv 这是第二个参数。

我正在尝试使用 bash 脚本转换文件夹中的所有文件。

这是我的 bash 脚本:

#!/bin/sh

for file in /home/labadmin/Desktop/6122017/1252017
do
    ./my_read_bfee *.dat *.csv
done

当我执行 bash 脚本时,我得到:

usage: read_bfee in.dat out.csv

请帮忙。 提前致谢。

最佳答案

也许你想要

#!/bin/sh

for file in /home/labadmin/Desktop/6122017/1252017/*.dat
do
    ./my_read_bfee "$file" "${file%.dat}.csv"
done

否则 for 循环中的 *.dat 会在每次迭代中扩展为当前目录中匹配的所有文件

关于linux - 使用 2 个参数在 BASH 中执行 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47677610/

相关文章:

linux - sqlite3 - 访问挂载的数据库文件,数据库被锁定

mysql - 在 sql 字符串中使用 bash 参数的脚本问题

linux - 记录终端命令

linux - 如何使用 ffplay 和 youtube-dl 在终端中播放 youtube 歌曲

c++ - 使用参数从 C++ 程序调用 shell 脚本

linux - 如何在 bash 中将十进制转换为十六进制?

linux - 更新 Linux 内核的问题`

c - *nix - readdir64 可以在 32 位系统上使用吗?

linux - 函数 mkdircd () {mkdir -p "$@"&& eval cd "\"\$$#\""; }

bash - 防止 pwgen -y 生成反引号或引号? (或以其他方式清理输出)