我有一个ASCII文本文件,其中只有一条(长)行。我想对它做一个正常的sed但没有任何作用。 vi向我显示:设置列表,该行以$结尾 如果我用vi手动添加新行,则sed命令有效。如果我这样做:
echo $(cat file) |sed 's/.*test//g'
它也有效。知道为什么sed无法使用它吗?
答案 0 :(得分:0)
命令echo $(cat file)
不会很好地保留空白区域。
你应该可以添加换行符,同时保持文件的其余部分不受影响,非常容易:
( cat inputFile ; echo ) | sed 'something or other'
请记住,某些 sed
实现实际上不喜欢非常长的行。我相信POSIX只要求最低8K的要求。不过,如果你使用的是GNU变种,你应该没问题。