大佬教程收集整理的这篇文章主要介绍了linux – 当我在shell脚本中使用cat命令时,如何在文件末尾保留空行,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
文件a.txt末尾有两个空行
[yaxin@oishi tmp]$cat -n a.txt
1 jhasdfj
2
3 sdfjalskdf
4
5
我的脚本是:
[yaxin@oishi tmp]$cat t.sh
#!/bin/sh
a=`cat a.txt`
a_length=`echo "$a" | awk 'END {print nR}'`
echo "$a"
echo $a_length
[yaxin@oishi tmp]$sh t.sh
jhasdfj
sdfjalskdf
3
打开调试
[yaxin@oishi tmp]$sh -x t.sh
++ cat a.txt
+ a='jhasdfj
sdfjalskdf'
++ echo 'jhasdfj
sdfjalskdf'
++ awk 'END {print nR}'
+ a_length=3
+ echo 'jhasdfj
sdfjalskdf'
jhasdfj
sdfjalskdf
+ echo 3
3
awk 'END {print nR}' a.txt
您的问题是将cat的输出存储在sHell变量中.即使这样也会给出正确的输出(尽管是UUOC的情况):
cat a.txt | awk 'END {print nR}'
更新:当您尝试执行此操作时:
a=`cat a.txt`
要不然:
a=$(cat a.txt)
陷阱是过程替换,即反向引用内的命令,如你所拥有或在$()中删除尾随换行符.
a=`cat a.txt; echo ';'`
a="${a%;}"
测试变量值:
echo "$a"
printf "%q" "$a"
jhasdfj
sdfjalskdf
$'jhasdfj\n\nsdfjalskdf\n\n\n'
以上是大佬教程为你收集整理的linux – 当我在shell脚本中使用cat命令时,如何在文件末尾保留空行全部内容,希望文章能够帮你解决linux – 当我在shell脚本中使用cat命令时,如何在文件末尾保留空行所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。