我有一个由windows系统生成的CSV文件。然后将该文件移动到linux。linux环境是NAME="Red Hat Enterprise Linux Server".VERSION="7.3 (Maipo)".ID="rhel“。
当我使用vi编辑器时,所有的字符都是可见的。例如,给出了一行:"Sarah--bitte nicht löschen“。
但是当我猫文件时,我得到类似于"Sarah--bitte nicht l▒schen“之类的东西。
此文件由数据存储应用程序使用,并且此unicode字符为"?“在数据存储中。由
linux命令"lsof“返回正在访问的文件,我在shell中尝试使用vi打开一个文件,用kwrite打开另一个文件,然后返回并得到vi的进程,但没有kwrite进程,如下所示
[linux@localhost shell_ex]$ lsof +d .
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 3458 linux cwd DIR 253,2 50 953101 .
bash 3747 linux cwd DIR 253,2 50 95
我试着搜索答案,但可能我的问题表达错了,我找不到它。
因此,在我自己的Linux环境中,当我退出"vi“时,编辑窗口的内容仍然停留在shell窗口中。在输入"vi“之前,我不能只滚动屏幕来查看之前输入的命令。我曾经在某些环境中(以不同的用户身份),一旦退出" vi ",vi命令就会显示为一个常规命令行,后面是我之前输入的所有命令。我试着寻找我喜欢的行为的设置,但我做不到。有人能帮我吗?
我已经使用这个shell脚本成功地改变了linux中的文本。
vi -e .bash_profile << END
i
PATH=\$PATH:\$HOME/bin:/usr/pgsql-9.4/bin
export PATH
PGDATA=/usr/pgsql-9.4/data
export PGDATA
.
w
q
END
但我有个问题。
如果我执行了两次脚本,然后在文本文件中复制。
所以,我想防止这种情况。我怎么才能修好它?
在我的本地PC上,我使用Vim运行Ubuntu20.10:
:version
VIM - Vi IMproved 8.2 (2019 Dec 12, compiled Aug 11 2020 17:00:59)
Included patches: 1-716
在这个版本中,我可以用Ctrl + u撤销文本,用:Explore打开一个文件资源管理器,这很好。
在另一台(远程) linux/ubuntu机器上(我没有安装任何东西的权限):
$ cat /proc/version
Linux version 4.15.0-1111-azure (buildd@lcy01-amd64-016) (gc