随着信息技术的不断发展,数据已经成为了我们日常工作中必不可少的一部分。我们需要通过数据来分析业务、制定策略、监控进度等等。为了更好地理解和运用数据,数据的呈现方式也变得越来越重要。而Linux文档转置,就是一种可行、简单、高效、直观易懂的呈现方式。
我们提供的服务有:网站制作、成都网站建设、微信公众号开发、网站优化、网站认证、金塔ssl等。为近千家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的金塔网站制作公司
什么是Linux文档转置?
Linux文档转置是一种数据处理工具,可以将数据库中的数据或文档中的表格按列转为行,实现横向排列,方便对数据的研究和使用。Linux文档转置适用于各种数据整理和处理的场景。
Linux文档转置的优势
1.操作简便
Linux文档转置使用简单,不需要具备高深的计算机知识。仅需在Terminal,即Linux下的命令终端输入一行命令即可完成转换。这一点非常适合初学者学习使用。
2.高效
由于Linux文档转置是通过命令行实现的,相对于图形界面操作软件,它速度更快、更高效。一旦排列完成,数据就可以直接用于进一步的操作,不需要重新导入、导出,大大节省了时间。
3.灵活多变
Linux文档转置可以应用于各种数据处理,不仅限于表格、数据库等,还可以处理其他类型的文件。同时,根据不同需求,设置不同参数也可以实现不同效果,灵活多变。
4.直观易懂
Linux文档转置将数据按列转换为行,使之变得清晰方便显示和研究。数据呈现的清晰直观性,不仅能够增加数据分析的效果,更能展示数据的价值。
如何使用Linux文档转置
在Linux文档转置的使用中,需要调用transpose命令实现数据的转置。
transpose [options] [file …]
其中,有三个重要参数:
-f , –field-separator SEPARATOR 指定分隔符,默认为空格符
-r, –header-row-number NUMBER 指定列头所在行的行数,默认为之一行
-t, –transpose-by ROWS 指定每次转换的行数,默认为全部行
通过这三个参数的不同设置,可以实现各种不同的转换效果。
示例:
我们需要建立一个测试文件testdata.txt,内容如下:
id name sex age score
001 jack male 21 90
002 rose female 22 95
003 john male 20 87
004 kate female 19 92
005 tom male 23 86
接下来进入Terminal,输入以下代码:
$ cat testdata.txt | transpose
–field-separator ‘ ‘ –header-row-number 1
转置效果如下:
id 001 002 003 004 005
name jack rose john kate tom
sex male female male female male
age 21 22 20 19 23
score 90 95 87 92 86
通过上述代码,我们已经将表格实现了按列转为行的操作。其中,”cat”命令是将testdata.txt文件读入,”| transpose “命令则是将该文件进行转换。在Linux文档转置中,通过指定分隔符、每次转权的行数等参数,可以实现不同形式的数据转置,具体操作可参考相关命令手册。
Linux文档转置是一种十分有用的工具,可以将大量数据转换为具有直观性和易懂性的形式,方便打印和展示。除此之外,它的操作简单、高效灵活也是其优势之一。希望各位读者能够利用Linux文档转置,更好地处理与展示数据,提高工作效率。
相关问题拓展阅读:
执行命令:unix2dos 文件名
即可。就是个换行符的问题。
linux文档到底是指什么,哪瞎袜是说在Ubuntu下用OpenOffice保存的odf格式的文档,在win下打开么?
自然如果还可以使用Ubuntu的话,那就在OpenOffice下访问原李激文件,另存为txt就可以了
如果只能在win下神简干,也没问题
office2023 SP2以上版本支持ODF格式文档的编辑
如果使用的是2023,也可以选择安装Sun ODF Plugin for Microsoft Office 来进行转换
rename .1 .txt *.1
(更改所有.1为.txt)
告诉你一个简单的办法,
在linux终端里面输入ls -ltr |awk ‘{print$9}’,这个命令会伏乎把文件名的一列做输出,但是可能你的文件夹中的时间戳有缺含悉的很近有的很远,你适当调整一下如调成$8什么的,最终能把所有的文件名都复制下来(成列),粘贴到excel中,然后空一列再粘一下,把这两列复制下来再黏贴到ultraEdit中,进行列编辑,之一列前加mv空格,第二列后加.txt,最终形成老纤如下格式:
mv file1 file1.txt
mv file2 file2.txt
。。。。。
mv filen filen.txt
将以上这些整体粘贴进linux终端里面就OK了
不知道我没有理解你的问题,你下载了linux格式的文档指的是没有文件扩展名,而你希望把这些文件都加上.txt扩展名。
那这个简芦坦单,把这些文件统一放到某一个目录下,然后在这个目录下执行下面的语句:
for f in `ls -1`; do mv $f ${f}.txt; done
搞定,当前目录下所有文件都加个了.txt扩展名,通过修改上面的命令行,你想改什么扩展名都可以,不过这只是改了个扩展名,文件内容是不变的。
看仔细,上面命令行中间的引号是键盘左族闷上角那个~号下面那个`,不是单双引号那个’。
如果你是指文件换行有问题,那还是先把这些文件放到一个目陪穗桐录下,然后在这个目录下执行下面的语句:
unix2dos *
当前目录下所有文件都将换行改成回车换行。
百度文库有 好几十页 自己可以下载去 真想学的话 0积分下载
1、linux分区
–在linux里面所有的设备、任何东西,在linux看来都是文件。
–文件在它看来,有两种形式:
之一种是字符型(键盘输入、打印机);
第二种是二进制型(硬盘、光驱、U盘滑让森)
–linux中所有硬件
–手动分区
–A、至少有两个分区
/ 根分区
SWAP 交换分区(物理内存大小的两倍)
–B、个人桌面分区
/
/boot 128MB is enough
/usr
SWAP
/tmp(用于光盘刻录)
2、linux目录说明
–/dev/xxyN
–xx (分区所在设备类型:hd–IDE硬盘 sd–SCSI硬盘)
–y (标明分区所在设备
例如:/dev/hda 之一个IDE硬盘 或 /dev/hdb 第二个IDE硬盘 或 /dev/sdb 第二个SCSI硬盘)
–N (数字代表分区:1-4–主分区或扩展分区;逻辑分区从5开始!
例如:/dev/hda3 之一个IDE硬盘上的第三个主分区或扩展分区
/dev/sdb6 第二个SCSI硬盘上的第二个逻辑分区)
3、linux目录结构
/ 根目录,更高级别
/bin 系统基本命令存放目录(/usr/bin)
/boot linux的内核及引导系统程序文件存放目录(如:vmlinuz、initrd.img)
一般情况下,GRUB或LILO系统引导管理也位于这个目录
/dev 设备文件存储目录,如声卡、光驱…
/ect 存放系统设置文件(如用户账号密码、服务器配置文件等)
/home 普通用户家目录,默认存放目录
/lib 库文件存放目录
/lost+found 在ext2或ext3文件系统中,当系统以外崩溃或机器意外关机,而产生一些文件碎片放在这里。
当系统启动的过程中,fsck工具会检查这里,并修复已经损坏的文件系统。
有事喜用发生问题,有很多的文件被移到这个目录中,可能会用手工的方式来修复,或者移文件到原来的位置上。
/media 即插即用型存储设备的挂载点自动在这个目录下创建。
如USB盘系统自动挂在后,会在这个目录下产生一个目录;
类似cdrom的目录
/mnt 存放挂载存储设备的挂载目录,如cdrom等目录
/opt 表示可选的意思,有些软件包也会被安装在此,也就是自定义软件包,
比如OpenOffice,或者一些我们自己编译的软件包,也可安装此处。
/proc 操作系统运行时,进程(正在运行的程序)信息及内核信息(比如CPU、硬盘分区、内存信息等)存放在此。
/proc目录是伪装的文件系统proc的挂载目录,proc并不是真正的文件系统
/root linux超级权限用户root的家目录
/in 大多是涉及系统管理的命令的存放,只有超级权限用户root才可执行命令存放,普通用户无权限执行此目录下的命令
与 /usr/in; /usr/X11R6/in; usr/local/in 目录相似
(in,只有root权限才能执行)
/tmp 临时文件目录,有时用户滑首运行程序的时候,会产生临时文件。
/var/tmp目录和此目录相似
/usr 系统存放程序的目录,如命令、帮助文件等。这个目录下有很多的文件和目录。
大部分Linux发行版提供的软件包都安装在此,涉及服务器的配置文件就安装在/ect中。
/usr/share/fonts 字体目录
/usr/share/man 或 /usr/share/doc 帮助目录
/usr/bin 或 /usr/local/bin 或 /usr/X11R6/bin 普通信亩用户可执行文件目录
/usr/in 或 /usr/local/in 或 /usr/X11R6/in 超级权限用户root可执行命令存放目录
/usr/include 程序头文件存放目录
/var (vary)此目录经常变动
/var/log 用来存放系统日志
/var/www 用来定义Apache服务器站点存放
/var/lib 用来存放一些库文件,如MySQL的,以及MySQL数据库的存放地。
4、基本命令
–查看帮助 –help –?
–查看详细帮助 man
–登录 login
–退出窗口 exit
–关机 shutdown
–重启 reboot
–初始化 init (run level -/etc/inittab),0-6看第六部分的g
–进入根目录 cd /
–回上层目录 cd ..
–相对路径 cd dev
–绝对路径 cd /dev
–查用户名 whoami
–查当前目录 pwd
–列出当前目录内容 ls
l(树详细显示目录内容)
m(横列显示目录内容,是屏幕长度显示)
a(列出全部文件,包括隐藏文件)
S(以文档大小排序)
–创建目录 mkdir dname
–删除目录 rmdir dname
rm -r-(递归删除该目录下所有内容,询问每个准备删除的文件)
rm -rf ***-(强制删除该目录下所有内容,不询问)
–创建空白文件 touch
(ps:从技术的角度来讲,linux的文件后缀名没有任何意义)
–复制 cp
cp -r **1 **2 (复制1到2中)
–移动 mv
mv -t **1 **2 (把2移动到1中)
–编辑文本 vi
–查看文本 cat 由之一行开始显示文本内容
tac 从最后一行显示,可以看出 tac 是 cat 的倒着写
more 一页一页的显示文档内容
less 与 more 类似,可以往前翻页
head 只看头几行
N(数字,可根据行数显示)
tail 只看后几行
N(数字,可根据行数显示)
nl 显示的时候,顺序输出行号
od 以二进制位的方式读取档案内容
–查找文本 find
如查找rc.local find /etc -name *.local
–查找命令信息及其位置 whereis 命令
如 whereis ls
–查看环境变量 echo $SHELL
如 echo $PATH (分大小写:分隔符是:,windows是echo %path%;)
–链接 ln
如 ln joe.txt a (硬链接,如同复制一个新文件,joe.txt删除后,a还存在)
a是链接的名称,a和joe.txt同步,然后a的内容和joe.txt一样
joe.txt改变,a也跟着变
如 ln -s joe.txt b (软链接,如同创建一个快捷方式,joe.txt删除后,b不存在)
–wc 统计指定文本文件的行数、字数、字符数
–grep(很常用) 在指定的文本文件中查找指定的字符串
grep 字符串 文件名
–col 见管道..
—-信息显示命令—-
–date 显示和设置日期
–stat 显示指定文件的相关信息
–who、w 显示在线登录用户
–whoami 显示用户自己的身份
–id显示当前用户的id信息
–hostname 显示主机名称
–uname 显示操作系统信息
–dmesg 显示系统启动信息
–du显示指定的文件(目录)已使用的磁盘空间
–df显示文件系统磁盘空间的使用情况
–free 显示当前内存和交换空间的使用情况
–fdisk -l 显示磁盘信息
–locale 显示当前语言环境
5、挂载点(mount 设备目录 挂载目录)
–访问设备 (那设备当成一个文件,和另外一个文件夹进行绑定)
–例如挂载光驱:步骤 ———–OK!直接访问光驱内容
–卸载挂载设备(umount /dev/cdrom)–注意必须先退出挂载目录,否则出现”device is busy”错误.
6、startup-shutdown(linux启动流程)
–A、boot sequence(important) linux启动过程
a. load bios(hardware information)
b. read MBR’s config to find out the OS
(MBR–Master Boot Record,硬盘之一个物理扇区,柱面0、磁头0、扇区1,包含主引导程序和硬盘分区表)
c. load the kernel of the OS
(加载为kernel核心的OS)
d. init process starts…
(启动linux之一个进程init)
e. execute /etc/rc.d/sysinit
(执行系统最重要的配置文件,后台启用进程)
(rc.d–run command)
f. start other modules(stc/modules.conf)
(开启各种模块,如内存管理模块、硬盘管理模块)
g. execute the run level scripts
(系统启动是分层次的,根据情况执行,每个层次之间没关系)
0 – 系统停机状态
1 – 单用户工作状态 root
2 – 多用户状态(没有NFS)
3 – 多用户状态(有NFS)
NFS – Network File System 网络文件系统,联网系统
4 – 系统未使用,留给用户
5 – 图形界面
6 – 系统正常关闭并重新启动
如:cd /etc — 有rc0.d、rc1.d、rc2.d、rc3.d、rc4.d、rc5.d等多个文件夹,保存着各个层次执行的进程文件
h. execute /etc/rc.d/rc.local (重要)
(保存其它进程脚本,如tomcat自动启动,要修改此配置文件)
i. execute /bin/login
(登录界面)
j. shell started…
7、vi 文本编辑器
–两种模式:命令模式 编辑模式
–vi
(切换到编辑模式)
a append-光标后添加
i insert-光标前插入
o open-另起一行编辑
esc (切换回命令模式)
:w 存盘
:wq 存盘退出
:q 退出
:q! 不存盘退出
dd 删除其中一行
dw 删除一个单词
(sudo gedit 文本 常用linux下的文本编辑器,比vi好用)
8、用户设置
–切换用户(switch user) su username
小技巧:直接exit切换
–添加用户 useradd username (分配到某个用户组)
(创建后会自动在/home目录下创建该新用户的文件夹,如/home/username)
–设置密码 passwd username
–cd /etc
–查看用户信息 more password
如新增的用户信息:username:x:500:500::/home/username:/bin/bash
之一个数字,代表用户组,当添加用户没有指定用户组时,系统会创建一个和用户ID一样的组ID;
第二个数字:用户ID号;
用户的目录是/home/username;
用户的SHELL是/bin/bash
(命令—>SHELL—>kenrel内核)
SHELL有多种类型,如csh、bash(常用)、bsh、ksh、sh(最原始)
–添加用户组 groupadd groupname
–查看用户组信息 more group
–删除用户组 groupdel groupname
–修改用户 usermod
–删除用户 userdel username
然后把/home的文件夹删除了 rm -rf 文件夹
9、权限file privilege
–linux把文件的权限分成四种:r:read w:write x:execute -:none
如:-rw-r–r–
lrwxrwxrwx
drwxr-xr-x
drwxr-xr-x
之一个数字’-‘代表文件,其余是文件夹,后9位分为3组,每组有四种权限设置rwx-
之一位表示文件所有者
第二位表示和所有者在同一用户组的用户
第三位表示不在同一用户组的用户权限
–设置权限 (随意应用,灵活组合!)
1、普通用法
–添加权限
如:-rw-r–r– —> -rwxr-xr-x
–删除权限
如:-rwxr-xr-x —> -rw-r–r–
–给自己添加权限
如此类推,组–g,其他人–o
如:chmod u+x -rw-r–r– —> -rwxr–r–
chmod g+x -rw-r–r– —> -rw-r-xr–
chmod o+x -rw-r–r– —> -rw-r–r-x
2、专业用法 chmod 755/777
–原理,八进制转二进制
如755,, rwx r-x r-x
,, rwx rwx rwx
–修改所有者权限 chown (change owner)
如:chown 原来文件 file1 的所有者是 root,改成joe的
chown joe file1
10、管道(把上一个命令执行的结果交给下一个命令)
–使用方法:
命令1|命令2|命令3……|命令n
–使用举例
$ls -Rl /etc | more
(如 ls -Rl /etc (在控制台模式下,无法返回前面过去的信息),因此需要管道执行该查询,实现分页的工作, ls -Rl /etc | more)
$cat /etc/passwd | wc
(显示文件结果,再数数有多少行)
$cat /etc/passwd | grep lrj
(显示文件结果,再查找包含lrj的行)
#dmesg | grep eth0
(显示系统启动的信息,再查找包含eth0的行–真正含义,检查网卡执行信息是否正常)
$man bash | col -b > bash.txt
语 法:col
补充说明:在许多UNIX说明文件里,都有RLF控制字符。当我们运用shell特殊字符”>”和”>>”,把说明文件的内容输出成纯文本文件时,控制字符会变成乱码,col指令则能有效滤除这些控制字符。
参 数:
b 过滤掉所有的控制字符,包括RLF和HRLF。
f 滤除RLF字符,但允许将HRLF字符呈现出来。
x 以多个空格字符来表示跳格字符。
l 预设的内存缓冲区有128列,您可以自行指定缓冲区的大小。
$ls -l | grep “^d”
(用正则表达式筛选出目录列表中 头字母为’d’ 的内容–目录)(^是正则表达式开头部分)
$ls -l * | grep “^-” | wc -l
(列出目录列表中 头字符为’-‘的内容–文件,并统计显示的行数wc -l)
11、其他命令
–wall(warning all) 通知所有人
a.命令替换
如 wall `date`、 cd ‘pwd’、mkbootdisk $(uname -r)
b.重定向
重定向输出:
如 ls > cmd.txt ,把文件写到cmd.txt,不输出在控制台
ls >> cmd.txt ,把文件追加写到cmd.txt
重定向输入:
如 wall > cmd.txt,把文本内容发给所有人
12、修改系统的默认系统级别
常用3和5
3 – 多用户状态(有NFS)
NFS – Network File System 网络文件系统,联网系统
5 – 图形界面
PS.设置用户权限: sudo chmod 777 目录
4表示读,2表示写,1表示执行.
之一位表示文件所有者,第二位表示和所有者在同一用户组的用户,第三位表示不在同一用户组的用户权限.
755表示文件所有者可读写,执行.
第二位5表示与所有者在同一用户组的可读,可执行,不可写.
第三位5表示其它组可读,可执行,不可写. 转载于Joewalker在本人空间也有详细说明
自己进去看历滑段看肢誉让雹吧,貌似自己可以下载下来
1)文件操作
vi FileName 打开文件 FileName,并将光标置于之一行首。
vi +n FileName 打开文件 FileName,并将光标置于第 n 行首。
vi + FileName 打开文件 FileName,并将光标置于最后一行。
vi + /pattern File 打开文件 File,并将光标置于其中之一个于 pattern 匹配的字符串处。
vi –r FileName 在上次正用 vi 编辑 FileName 发生系统崩溃后,恢复FileName。
vi File1 … Filen 打开多个文件,依次对之进行编辑。
:%!xxd 按十六进制查看当前文件
:%!xxd -r 从十六进制返回正常模式
:n1,n2 co n3 将 n1 行到 n2 行之间的内容拷贝到第 n3 行下。
:n1,n2 m m3 将 n1 行到 n2 行之间的内容移至第 n3 行下。
:n1,n2 d 将 n1 行到 n2 行之间的内容删除。
:n1,n2 w filename 将 n1 行到 n2 行之间的内容保存到文件 filename 中
:n1,n2 w! Command 将文件中n1行到n2行的内容作为 Command的输入并执行之,局渣派
若不指定 n1、n2,则将整个文件桐贺内容作为 Command 的输入。
:r! Command 将命令 Command 的输出结果放到当前行。
:nr 文件> 把文件>插入到第n行
:so 文件> 读取文件>,再执行文件里面的命令梁乱(文件中的命令应该都是一些ex命令)
:l1,l2w 文件> 把第l1和第l2行之间的文本写到文件>中去
:w >> 文件> 添加到文件>末尾. 也可以使用行号
:e! 重新编辑当前文件,忽略所有的修改
·(、、)对应显示
% 显示当前(、 、)的对应项
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
·(、、)内数据选择
daB 删除{}及其内的内容 (在非v可视模式下)
diB 删除{}中的内容
ab 选择()中的内容
ib 选择()中的内容( 不含() )
aB 选择{}中的内容
iB 选择{}中的内容( 不含{} )
·语法提示与自动补齐
插入模式下的单词自动完成
行自动完成(超级有用)
·设置ctags
#ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src /usr/src/kernels/2.6.9-5.EL-i686
^p 自动补齐上下文已有相近项
^n 自动补齐~/.tags中的相近函数
^
按^t退出函数
:pta 函数名 预览窗口快速打开相应函数所在文件,并将光标定位在对应函数的开头
K 显示光标下的C函数的man说明手册
·变量定位
gd 转到光标下局部变量的定义处
Gd 转到光标下全局变量的定义处
·编译选项
:cn 命令会把你带到下一个出错地点,而不考虑它在什么文件里。
:cc 命令会向你显示当前错误的编译器输出信息;
:cl 会生成一个列有项目所有错误的列表,以供浏览这些错误
3>光标移动
·字符
h 光标左移一个字符。
l 光标右移一个字符。
·字
w 或 W 光标右移一个字至字首。
B 或 b 光标左移一个字至字首。
E 或 e 光标右移一个字至字尾。
·句} 光标移至句尾。
( 光标移至句首。
·段) 光标移至段落开头。
{ 光标移至段落结尾。
·行k 或 Ctrl+p 光标上移一行。
j 或 Ctrl+n 光标下移一行。
Enter 光标下移一行。
nG 光标移至第 n 行首。
n+ 光标下移 n 行。
n- 光标上移 n 行。
n$ 光标移至第 n 行尾。
0 光标移至当前行首。
$ 光标移至当前行尾。
·屏幕
H 光标移至屏幕顶行。
M 光标移至屏幕中间行。
L 光标移至屏幕最后行。
Ctrl+u 向文件首翻半屏。
Ctrl+d 向文件尾翻半屏。
Ctrl+f 向文件尾翻一屏。
Ctrl+b 向文件首翻一屏。
nz 将第 n 行滚至屏幕顶部。不指定 n 时将当前行滚至屏幕顶。
4}插入
# 在文件中插入行号(不是显示行号,是插入!)
:g/^/exec “s/^/”.strpart(line(“.”).” “, 0, 4)
·光标
i 在光标前插入。
a 在光标后插入。
·行
I 在当前行首插入。
A 在当前行尾插入。
o 在当前行之下一新行插入。
O 在当前行之上新开一行插入。
5)替换
r 替换当前字符。
R 替换当前字符及其后的字符,直至按 ESC 键。
s 从当前光标位置处开始,以输入的文本代替指定数目的字符。
S 删除指定数目的行,并以所输入的文本代替。
6)修改
ncw 或 nCW 修改指定数目的字符。
nCC 修改指定数目的行。
:r filename 将文件 filename 插入在当前行之下
7)查找替换
/ 把狭义单词 写到 搜索命令行
/ 把广义单词 写到 搜索命令行
:g/str/s/str1/str2/g
之一个g表示对每一个包括s1的行都进行替换,
第二个g表示对每一行的所有进行替换
包括str的行所有的str1都用str2替换
:%s/f $/for$/g 将每一行尾部的“f ”(f键和空格键)替换为for
:%s/^/mv /g 在每一行的头部添加“mv ”(mv键和空格键)
:s/fred/a/g 替换fred成register a中的内容,呵呵
:g/显示含或的行
# 替换一个visual区域
# 选择一个区域,然后输入 :s/Emacs/Vim/ 等等,vim会自动进入:模式
:’s/Emacs/Vim/g 前面的’是vim自动添加的
# 在多个文档中搜索
:bufdo /searchstr
:argdo /searchstr
复制与剪切
xp 交换前后两个字符的位置
ddp 上下两行的位置交换
:g/fred/t$ 拷贝行,从fred到文件末尾(EOF)
9)窗口操作
:vne
:sp
:S
:new
:^w + ^r 交换两个窗口的位置
^w = 窗口等宽
:res -n 窗口高度减小n
:res +n 窗口高度增大n
:vert res -n
:vert res +n
10)DOS格式文本转成Unix格式文本
:1,$s/^M//g
11)书签
在阅读和编写大的程序文件时,利用标记(书签)功能定位是十分有帮助的。
将光标移到想做标记的位置。假如做一个名为“debug1”的标记,那么用户可在命令模式下输入做标记的命令“mdebug1”,然后敲入回车键,一个名为“debug1”的标记就做好了。
接下来用户可以随意将光标移到其它的位置,当在命令模式下输入“`debug1”后,就能快速回到“debug1”的标记所在行的行首。
馨竹:13
12)删除操作
:%s/r//g 删除DOS方式的回车^M
:%s= *$== 删除行尾空白
:%s/^(.*)n1/1$/ 删除重复行
:%s/^.pdf/new.pdf/ 只是删除之一个pdf
:%s/// 又是删除多行注释(咦?为什么要说「又」呢?)
:g/^s*$/d 删除所有空行
:g!/^dd/d 删除不含字符串’dd’的行
:v/^dd/d 同上 (译释:v == g!,就是不匹配!)
:g/str1/,/str2/d 删除所有之一个含str1到之一个含str2之间的行
:v/./.,/./-1join 压缩空行
:g/^$/,/./-j 压缩空行
:s/p1/p2/g:将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代
:g/p1/s//p2/g:将文件中所有p1均用p2替换
ndw 或 ndW 删除光标处开始及其后的 n-1 个字符。
d0 删至行首。
d$ 删至行尾。
ndd 删除当前行及其后 n-1 行。
x 或 X 删除一个字符。
Ctrl+u 删除输入方式下所输入的文本。
^R 恢复u的操作
J 把下一行合并到当前行尾
V 选择一行
^V 按下^V后即可进行矩形的选择了
aw 选择单词
iw 内部单词(无空格)
as 选择句子
is 选择句子(无空格)
ap 选择段落
ip 选择段落(无空格)
D 删除到行尾
x,y 删除与复制包含高亮区
dl 删除当前字符(与x命令功能相同)
d0 删除到某一行的开始位置
d^ 删除到某一行的之一个字符位置(不包括空格或TAB字符)
dw 删除到某个单词的结尾位置
d3w 删除到第三个单词的结尾位置
db 删除到某个单词的开始位置
dW 删除到某个以空格作为分隔符的单词的结尾位置
dB 删除到某个以空格作为分隔符的单词的开始位置
d7B 删除到前面7个以空格作为分隔符的单词的开始位置
d) 删除到某个语句的结尾位置
d4) 删除到第四个语句的结尾位置
d( 删除到某个语句的开始位置
d) 删除到某个段落的结尾位置
d{ 删除到某个段落的开始位置
d7{ 删除到当前段落起始位置之前的第7个段落位置
dd 删除当前行
d/text 删除从文本中出现“text”中所指定字样的位置,
一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容
dfc 删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容
dtc 删除当前行直到下一个字符“c”所出现位置之间的内容
D 删除到某一行的结尾
d$ 删除到某一行的结尾
5dd 删除从当前行所开始的5行内容
dL 删除直到屏幕上最后一行的内容
dH 删除直到屏幕上之一行的内容
dG 删除直到工作缓存区结尾的内容
d1G 删除直到工作缓存区开始的内容
修改命令操作
r 更改当前字符
cw 修改到某个单词的结尾位置
c3w 修改到第三个单词的结尾位置
cb 修改到某个单词的开始位置
cW 修改到某个以空格作为分隔符的单词的结尾位置
cB 修改到某个以空格作为分隔符的单词的开始位置
c7B 修改到前面7个以空格作为分隔符的单词的开始位置
c0 修改到某行的结尾位置
c} 修改到某个语句的结尾位置
c4} 修改到第四个语句的结尾位置
c( 修改到某个语句的开始位置
c) 修改到某个段落的结尾位置
c{ 修改到某个段落的开始位置
c7{ 修改到当前段落起始位置之前的第7个段落位置
ctc 修改当前行直到下一个字符c所出现位置之间的内容
C 修改到某一行的结尾
cc 修改当前行
5cc 修改从当前行所开始的5行内容
. 重复上一次修改!
13}Set 选项设置
set all 列出所有选项设置情况。
set term 设置终端类型。
set ignorecase 在搜索中忽略大小写。
set list 显示制表位(^I)和行尾标志($)。
set number 显示行号。
set showmode 示用户处在什么模式下
set report 显示由面向行的命令修改国的行数目。
set terse 显示简短的警告信息。
set warn 在转到别的文件时,若没有保存当前文件则显示 No write 信息。
set autowrite 在“:n”和“:!”命令之前都自动保存文件
set nomagic 允许在搜索模式中,使用前面不带\的特殊字符。
set nowrapscan 禁止 vi 在搜索到达文件两端时,又从另一端开始。
set mesg 允许 vi 显示其他用户用 write 写到自己终端上的信息。
autoindent (ai) noai 使新行自动缩进,和上(下)行的位置对齐
autoprint (ap) ap 每条命令之后都显示出修改之处
autowrite (aw) noaw 在:n,:!命令之前都自动保存文件
beautify (bf) nobf 在输入的时候忽略所有的控制字符(除了制表键(tab),换行(newline),进纸(formfeed))
directory= (dir=) /tmp 存放缓冲区的目录名
edcompatible noedcompatible 在替换的时候使用类ed的用法
errorbells (eb) errorbells 出错的时候响铃
exrc (ex) noexrc 允许在主目录(home)外面之外放.exrc文件
hardtabs= (ht=) 8 设置硬制表的边界
ignore case (ic) noic 正规式里忽略大小写
lisp nolisp 打开lisp模式
list nolist 显示所有的制表键和行的结尾
magic agic 可以使用更多的正规表达式
mesg mesg 允许向终端发送消息
number (nu) nonumber 显示行号
open open 允许开放和可视化
optimize (opt) optimize 优化吞吐量,打印时不发回车
paragraphs= (para=) IPLPPPQPPLIbp 设置{ & }的分界符
prompt prompt 命令模式下的输入给出:的提示符
readonly (ro) noro 除非用!号否则不准保存文件
redraw noredraw 当编辑的时候重绘屏幕
remap remap 允许宏指向其他的宏
report= 5 如果影响的行数>这个数的话就报告
scroll 1/2 window 下卷屏幕时滚动屏幕的数目, 同样这也是z命令输出的行数(z 输出2倍滚屏的大小)
sections= SHNHH HU 定义节的末尾(当使用命令> 时)
shell= (sh=) /bin/sh 缺省的SHELL,如果设置了环境变量SHELL的话,就使用变量
shiftwidth= (sw=) 8 当使用移动(shift)命令时移动的字符数
showmatch () no 显示{, }, (, ), 的匹配情况
showmode noshowmode 显示你处在什么模式下面
slowopen (slow) 插入之后不要立刻更新显示
tabstop= (ts=) 8 设置制表停止位(tabstop)的长度
taglength= (tl=) 0 重要标记的字符个数(0表示所有的字符)
tags= tag, /usr/lib/tags 定义包含标记的文件路径
term= 设置终端类型
terse noterse 显示简短的错误信息
timeout (to) timeout 一秒钟后键盘映射超时
ttytype= 设置终端类型
warn warn 显示”No write since last change”信息
window= (w=) 可视模式下窗口的行数
wrapmargin= (wm=) 0 右边距,大于0的话最右边的单词将折行,留出n个空白位置
wrapscan (ws) ws 查找到文件尾后再重头开始
writeany (wa) nowa 可以保存到任意一个文件去
14}特殊字符
^ 匹配字符串位于行首。
$ 匹配字符串位于行尾。
. 用在模式串中,表示任何单个字符。
在命令模式下,重复上次的命令。
* 在模式串中,表示其前字符可出现任意多次。
用在模式串中,表示指定方位内字符,其中可用-表示一个字
符范围,用^表示不在某个范围内的字符。
ESC 从插入状态转换到命令状态
^
15>大小写转换
guu 行小写
gUU 行大写
g~~ 行翻转(当然指大小写啦)
guw 字小写(狭义字) 译注:建议对比iw
gUw 字大写(狭义字)
g~w 字翻转(狭义字)
vEU 字大写(广义字)
vE~ 字翻转(广义字)
ggguG 把整个文章全部小写(ft!bt!)
16) 跳转足迹’. 跳到最后修改的那一行 (超级有用)(ft,怎么又是这个评价)
`. 不仅跳到最后修改的那一行,还要定位到修改点
依次沿着你的跳转记录向回跳 (从最近的一次开始)
依次沿着你的跳转记录向前跳
:ju(mps) 列出你跳转的足迹
17)命令历史
:history 列出历史命令记录
:his c 命令行命令历史
:his s 搜索命令历史
q/ 搜索命令历史的窗口
q 命令行命令历史的窗口
: 历史命令记录的窗口
18>寄存器
# 列出寄存器(Registers)
:reg 显示所有当前的registers
“1p 表示引用register,1表示一个名字叫做1的register,p就是粘贴(paste)命令
译释:
“也用来定义register
先输入 “,表示定义register
然后输入名字,如0~9,a~z
然后执行删除或复制命令,如dd或y,
或者是visual模式下的d(删除选中的部分)或y(复制选中的部分)
则被删除或复制的部分就被存入了这个命名的register
观察:一个特殊的register, “” ,里面存储了一个匿名的删除/复制
在你执行dd或y的时候,被作用的部分被存到了””中
19}命令行
“ayy@a 把当前行作为一个Vim命令来执行
译释:”ayy 是定义当前行到register a,然后@a是执行register a中存储的指令
10yy copy 当前行以下10行
11} 排序
:%!sort -u 使用sort程序排序整个文件(用结果重写文件)
!1) sort -u 排序当前段落 (只能在normal模式下使用!!)
:.,+5!sort 排序当前行及以下5行
20) 列操作
:%s= +$=&&= 复制最后一列
:%s= f+$=&&= 一样的功能
:%s= S+$=&& ft,还是一样
:s/(.*).*)/2″1/ 颠倒用:分割的两个字段
:%s(w+s+))str1:1str2: 处理列,替换所有在第三列中的str1
:%sw+)(.*s+)(w+)$:321: 交换之一列和最后一列 (共4列)
·.vimrc
” Use Vim settings, rather then Vi settings (much better!).
set nocompatible
“c风格的缩进
:set expandtab “不使用tab只使用空格
:set cindent shiftwidth=4
“自动缩进
:set ai
“语法
“:set filetype=java
:set syntax=java
“键入)、> 、},显示(、
:set showmatch
“手工定义折叠
:set foldmethod=manual
“标签文件位置
set tags=/usr/share/vim/vim63/funcs.tags
“在插入模式下通过按N自动地将任何类、方法或者字段名补齐
set complete+=k
” 不要用声音烦我!
set visualbell
“历史
:set history=50
“显示行列位置
:set ruler
“设置字符编码
set fileencodings=gb2312
“set encoding=euc-cn
“设置ruler
set ruler
“显示当前命令
set showcmd
“incsearch
set incsearch
” allow backspacing over everything in insert mode
set backspace=indent,eol,start
“自动检测文件类型
关于linux 文档行列转置的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
成都创新互联建站主营:成都网站建设、网站维护、网站改版的网站建设公司,提供成都网站制作、成都网站建设、成都网站推广、成都网站优化seo、响应式移动网站开发制作等网站服务。
本文题目:Linux文档转置:让数据变得直观易懂(linux文档行列转置)
网站URL:http://www.gawzjz.com/qtweb/news21/190371.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联