linux - 使用 shell 脚本读取文件,行的格式已更改

标签 linux bash

我正在使用以下代码读取文件:

displayLine(){
    echo $line
}

filename="SampleFile"
while read line
do
    displayLine $line
done < "$filename"

我使用脚本后得到的文件格式是这样的:

ID EVENT OK NOK
101 ABC1123 ok nok
101 ABC1223 ok      
101 ABC1323 ok nok
101 ABC1423 ok nok

但是文件的实际格式是这样的:

ID  EVENT       OK      NOK
101 ABC1123     ok      nok
101 ABC1223     ok      
101 ABC1323     ok      nok
101 ABC1423     ok      nok

我的脚本以某种方式修剪了单词之间的多余空格。但是,我想要文件的实际格式。

谁能告诉我如何实现?

谢谢!!

最佳答案

在控制台窗口中试试这个:

echo    101 ABC1123     ok      nok

你得到了什么?

现在试试

echo "101 ABC1123     ok      nok"

现在,在您的脚本中尝试 echo "$line"。

关于linux - 使用 shell 脚本读取文件,行的格式已更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35347239/

相关文章:

linux - 授予每个人对此设置的读取权限有哪些安全风险?

linux - 解密需要私钥和密码

php - 从 php 或 python 调用时 Bash 脚本挂起

bash - 如何为由 && 分隔的多个命令创建 PID 陷阱

c - 在 ARM 上使用 syslog() 的 C 程序中处理 SIGINT 会导致程序执行向后跳几行

linux - 后台运行Linux命令,关闭SSH后继续运行

bash - 找出 bash/dash/sh 在启动过程中读取的所有文件

linux - Midori 浏览器不会在脚本中第二次启动

regex - 从文件名中提取信息以进行自动复制

bash - 在bash脚本中获取最后执行的命令名称