shell - IFS '\n' 在 AIX 机器中不工作

标签 shell

我正在尝试读取包含多行的文件并按原样打印。 但是我在 IFS 中的新线路没有按预期工作。这是在 AIX 中。

下面是我的脚本,

#!/bin/ksh

#set -x
old_IFS=$IFS      # save the field separator
IFS=$'\n'
LABELFILE=/home/david/label.txt
OUTPUT_FILE=/home/david/label_out.txt

for i in $(cat $LABELFILE)
do
echo "$i" >> $OUTPUT_FILE
done

标签.txt

Hello nancy
naghu naghu
Hello navy
You are naughty
Good niece

我的输出文件(label_out.txt->

Hello
a
cy

aghu
aghu
Hello
avy
You are
aughty
Good
iece

预期输出->

Hello nancy
naghu naghu
Hello navy
You are naughty
Good niece

最佳答案

试试:

IFS='
'

(只是一个回车,没有多余的空格。)

关于shell - IFS '\n' 在 AIX 机器中不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8552385/

相关文章:

用于备份的 Shell 命令

python - 从 shell 运行 python 时如何避免打印不必要的信息?

java - 如何在shell脚本中运行unstop jar

linux - Shellscript If 语句返回错误

linux - 在 shell 脚本完成后保留环境变量

shell - 每当遇到逗号时在文件中插入换行符 - Shell 脚本

c - 带有 pipe( ) 函数的简单 shell

python - 如何找出Python脚本是从哪里调用的?

css - 如何将 `diff`文件创建一个 "common"文件?

linux - 从 gvim 在现有 shell 中运行命令