#!/bin/bash
q=$(bc <<< "scale=2;$p*100")
head -n$q numbers.txt > secondcoordinate.txt
Run Code Online (Sandbox Code Playgroud)
这只是剧本的一部分,但我认为这足以阐明我的意图。p
是一个只有两位小数的变量,所以q
应该是一个整数...不过, bc
例如,显示10.00
而不是10
。
我该如何解决这个问题?
#! /bin/bash
for (( l = 1 ; l <= 50; ++l )) ; do
for (( k = 1 ; k <= 1000; ++k )) ; do
sed -n '$l,$lp' $k.dat >> ~/Escritorio/$l.txt
done
done
Run Code Online (Sandbox Code Playgroud)
该脚本与 1000 个 dat 文件一起位于一个文件夹中,每个文件有 50 行文本。
dat 文件称为1.dat
, 2.dat
,....,1000.dat
我的目的是制作文件l.txt
,其中l.txt
有 l 行1.dat
、 l 行2.dat
等。为此,我使用sed
命令来选择每个 dat 文件的 l 文件。
但是当我运行上面的脚本时,创建的txt里面什么都没有......
错误在哪里?