Seb*_*eyn 1 bash sed while-loop
我试图解析一个巨大的文本文件,比如200mb.
文本文件包含一些字符串
123
1234
12345
12345
Run Code Online (Sandbox Code Playgroud)
所以我的剧本看起来像
while read line ; do
echo "$line"
done <textfile
Run Code Online (Sandbox Code Playgroud)
但是使用上面的方法,我的字符串" 12345"被截断为"12345"
我试过用
sed -n "$i"p textfile
Run Code Online (Sandbox Code Playgroud)
但吞吐量从每秒27线减少到0.2线,这是不可接受的;-)
任何想法如何解决这个问题?
你想在没有fieldsep的情况下回显这些行:
while IFS="" read line; do
echo "$line"
done <<< " 12345"
Run Code Online (Sandbox Code Playgroud)
当您还想跳过特殊字符的解释时,请使用
while IFS="" read -r line; do
echo "$line"
done <<< " 12345"
Run Code Online (Sandbox Code Playgroud)
您可以在没有双引号的情况下编写IFS:
while IFS= read -r line; do
echo "$line"
done <<< " 12345"
Run Code Online (Sandbox Code Playgroud)