我有一个这种形式的输入文件:
Some text here
Another text here
Something else here
现在我想编写一个linux脚本,一次从输入文件中选择一行,并创建一个单独的文件,只存储收到的行。在此之后,我想将此文件传递给程序(我只有二进制文件)。是否可以编写这样的linux脚本。我习惯用C ++编程我知道它有可能存在。但是我想知道使用linux脚本是否可以这样。基本上我打算做以下事情:
read inputfile.txt line by line
store line read in inputFileInside.txt
./myprogram paramater1 inputFileInside.txt //run my C++ binary file which I usually run as (root$./myprogram parameter1 inputFileInside.txt)
sudo sh -c \"sync; echo 3 > /proc/sys/vm/drop_caches\"
exit when the input file has been read
答案 0 :(得分:1)
您可以使用for循环
逐行读取while read x
do
echo $x > inputFileInside.txt;
# do whatever you want
done < inputfile.txt
这可能会让你循环,$ x逐行读取直到它到达文件末尾
while read x
do
echo $x > $2;
./myprogram paramater1
#your other command
done < $1;
将上述文件保存为prog.sh之类的任何名称,然后赋予执行权限并使用参数
运行ur程序chmod u+x prog.sh
./prog.sh inputfile.txt inputFileInside.txt
这里$ 1是inputfile.txt,$ 2是inputFileInside.txt
答案 1 :(得分:0)
{{1}}
这将:
确保行尾反斜杠(\)后面没有空格(空格)。