Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用bashshell脚本删除文件末尾的换行符_Bash_Shell - Fatal编程技术网

使用bashshell脚本删除文件末尾的换行符

使用bashshell脚本删除文件末尾的换行符,bash,shell,Bash,Shell,我试图删除使用bash脚本添加到文件中的最后一个换行符。 我有这个- truncate-s$($(stat-c'%s'foo.txt)-1))foo.txt 这里是foo.txt文件名。 但是我想参数化文件名,我将把文件名赋给脚本,它将最终从该文件中删除换行符。 在这方面请求你的帮助。我的机器中没有linux,并尝试使用cygwin,但在运行脚本时出现错误 感谢您删除最后一行,如果它是换行符,请使用此sedL sed -i.bak '/^[[:blank:]]*$/{$d;}' foo.txt

我试图删除使用bash脚本添加到文件中的最后一个换行符。 我有这个-
truncate-s$($(stat-c'%s'foo.txt)-1))foo.txt

这里是foo.txt文件名。 但是我想参数化文件名,我将把文件名赋给脚本,它将最终从该文件中删除换行符。 在这方面请求你的帮助。我的机器中没有linux,并尝试使用cygwin,但在运行脚本时出现错误


感谢您删除最后一行,如果它是换行符,请使用此
sed
L

sed -i.bak '/^[[:blank:]]*$/{$d;}' foo.txt 

下面是一个示例-每一行都由新行分隔,我尝试添加,但不起作用,希望删除1#5#6#9#9之后的最后一行。我有一个以制表符分隔的文件,其中每一行都由新行分隔。我只想删除文件中最后一条记录之后的换行符。对于这一点,我有代码-但这里的文件名硬编码为foo.txt。我想将文件名作为参数传递给bash脚本,以便它从该特定文件中删除最后一个换行符。换行符是最后一行上的唯一字符吗?是的,换行符是最后一行上的唯一字符嘿,谢谢,但当我使用notepad++打开时,文件保持不变。我们是否可以使用该代码删除最后一个字节,并将其包含在脚本中,然后使用参数文件名调用脚本。显示控制台中的输出
tail-1 foo.txt | cat-vte
,不确定是否做了错事,我想删除最后一条记录后的换行符,并将光标向上移动到最后一条记录的末尾。其他代码正在工作,但我希望它用文件名参数化。我提到的另一个代码是从文件中删除最后一个字节(代表新行),但您在上面写的最后一行只有新行字符。?