1 linux file-management sorting
我有大约 1000 个文本文件,我需要查看每个文件,如果是正确的,请将其移动到一个文件夹中。我只能按长度/大小进行基本排序,我不能 grep 因为文本是随机的。除了手动打开+将每个保存在gedit中之外,我还能如何做到这一点。我在 Ubuntu Linux 上。谢谢
我已经根据大小、字数、greps、日期等进行了所有的排序。这是剩下的。我试图找到一种简单的方法来查看+保存/忽略其余部分。
我猜你可能不使用vim
......所以也许这只是学习它的动力,或者可能是一个简短的教程......
$ vim *
Run Code Online (Sandbox Code Playgroud)
将打开所有文件;
:!mkdir mine/; mkdir notmine/
Run Code Online (Sandbox Code Playgroud)
将创建名为“mine”和“notmine”的目录;
:!mv % mine/
Run Code Online (Sandbox Code Playgroud)
将当前文件移动到一个名为“mine”的目录;
:bdel
Run Code Online (Sandbox Code Playgroud)
将从 vim 正在处理的文件中删除该文件并移至下一个;
:!mv % notmine/
Run Code Online (Sandbox Code Playgroud)
将当前文件移动到名为“notmine”的目录。这些移动命令发生了什么
:
进入命令行模式!
启动一个 shell 命令%
导致 vim 替换当前文件的名称。 如果任何文件名中包含空格,则需要双引号引用该%
参数,例如:!mv "%" mine/
.点击:
,然后b
,然后向上箭头:bdel
再次获取命令。
点击:
,然后!mv
,然后重复向上箭头以循环浏览您之前的!mv ...
命令。您也可以只输入:!
然后向上箭头,但这也将获得!mkdir...
命令。
如果您还没有猜到,vim 的“命令行模式”中的向上箭头(您:
在“正常模式”下按输入的内容)将导致它执行以您已经输入的任何内容开头的先前命令那里。
此外,如果您之前没有任何 vim 经验,我必须首先赞扬您做出如此大胆的举动,然后继续通知您,如果您在任何时候不小心按了键盘上的键,您开始在文件中实际输入内容,或者其他事情出乎意料,点击<ESC>
几次,然后u
撤消您不小心所做的任何更改。如果你回溯得太远(对于这个例子来说并不是真正的问题,因为你实际上不会修改任何文件),你<CTRL>-R
会重做你刚刚取消的东西。这<ESC>
将使您退出插入模式或可视模式,回到正常模式,这是所有这些命令实际工作的地方。
好吧..在那小小的 PSA 之后,回到我们定期安排的节目。
为了使您的文件处理更高效,您可以设置几个宏:
qm:!mv % mine/<CR>:bdel<CR>q
Run Code Online (Sandbox Code Playgroud)
这实际上具有移动当前文件并将其从 vim 的“缓冲区列表”中删除的效果,因此在设置此宏时请确保它是您的文件之一。请注意,<CR>
此处表示您当时按下了 ENTER 键;实际上不要输入<CR>
.
qn:!mv % notmine/<CR>:bdel<CR>q
Run Code Online (Sandbox Code Playgroud)
同样的交易在这里。
然后将文件移动到“mine”目录并在缓冲区列表中移动,您可以
@m
Run Code Online (Sandbox Code Playgroud)
或者如果它不是你的
@n
Run Code Online (Sandbox Code Playgroud)
实际上,将这些宏映射到键盘上相距更远的字母可能比m
and n
..更明智,但这是基本思想。
归档时间: |
|
查看次数: |
829 次 |
最近记录: |