如何解决这个linux bash shell脚本?

loading...


-2

这是我一直试图解决的linux作业

编写一个名为formatfile的shell脚本,执行该脚本时将显示以下菜单:1-将文件从formatA转换为formatB
2-退出程序
每次用户从菜单中选择项目1时,将要求他/她输入原始文件的名称(要格式化的源文件)和结果文件的名称(新格式的文件) . 然后,脚本格式文件应调用名为convertfile的脚本,并将源文件名和目标文件名作为参数传递给它 . 脚本convertfile应该读取源文件并生成目标文件 . 程序应该继续运行并重新打印主菜单(询问用户是否要转换其他文件),直到用户从菜单中选择退出主脚本的第2项 . 原始(源)文件可以是任何大小,并具有以下格式:x(:,:,index)= / 索引值可能高达99999 * /
Value
X(:,:,指数)=
指数

Value
X(:,:,指数)=
Value
生成的文件应具有以下格式:索引值索引值(包括指数)索引值
示例:假设您有一个名为mydata的文件,其中包含以下数据:x(:,:,5)=
5.0567 5.0567
X(:,:,9)=
0.0345 0.0345
X(:,:,15)=
1.0e-007 *
0.6387 0.6387
X(:,:,117)=
0.0289 0.0289
然后你的脚本应该生成以下文件(假设我们称之为结果):5 5.0567
9 0.0345
15 0.6387e-007
117 0.0289

这部分显然是乘法:

1.0e-007 * 
0.6387  0.6387

值之间还有一个标签空间,因此可能需要它

tr -s " "

我一直试图解决它,但找不到任何与此相关的东西 .

到目前为止,我已经完成了formatfile并且调用了convertfile

while :
do
    echo "1- Convert file from formatA to formatB"
    echo "2- Exit program"

    read value

    case $value in
     1) ./finalproject/convertfile ;;
     2) exit 0 ;; 
    esac
done

在convertfile上我做了

echo Enter file name which contains the data    
read mydata    
echo Enter resulting file    
read result 

line=$(cat ./$mydata | cut -d: -f3 | sed 's/)=/ /' | tr "," " " | tr -s " " | cut -d" " -f2 > ./$result)

直到这里我被困住了 .

0回答

No Data

评论

loading...

暂时没有评论!