我在一个文件中有 1000 多行。文件开始如下(添加行号):
Station Name
Station Code
A N DEV NAGAR
ACND
ABHAIPUR
AHA
ABOHAR
ABS
ABU ROAD
ABR
Run Code Online (Sandbox Code Playgroud)
我需要将它转换为一个文件,通过每两行加入逗号分隔的条目。最终数据应如下所示
Station Name,Station Code
A N DEV NAGAR,ACND
ABHAIPUR,AHA
ABOHAR,ABS
ABU ROAD,ABR
...
Run Code Online (Sandbox Code Playgroud)
我正在尝试的是 - 尝试编写一个 shell 脚本,然后在echo它们之间使用逗号。但我想一个更简单有效的单线可以在sed/ 中完成这里的工作awk。
有任何想法吗?
我想递归且唯一地列出包含给定单词的文件。
示例:检查单词“check”,我通常做的是一个 grep
$ grep check * -R
Run Code Online (Sandbox Code Playgroud)
但是由于这个词出现的次数很多,我得到了很多输出。所以我只需要列出包含给定搜索词的文件名。我猜有些招用find和xargs会在这里就够了,但不知道。
有任何想法吗?
我的问题很简单,但我发现很难轻松地构建/解释它。
我用不同的帐户登录了几个 Unix 机器。我看到2个不同的东西user1和user2,而在vim编辑文本文件
当我输入时vim filename,vim 打开并编辑文件。当我关闭它时,文件中的完整文本消失了,我看到了之前存在的终端命令/输出。
当我输入时vim filename,vim 打开并编辑文件。当我关闭它时,我在显示器上的文件部分vim仍然显示在显示器上,并且所有以前的终端显示都向上滚动。即使文件只有 1 行,在退出 vim 后,显示屏也会显示第一行,其余全部是~,我会在屏幕底部看到命令提示符。
$ bash --version
GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
$ vim --version
VIM - Vi IMproved 7.0 (2006 May 7, compiled Jun 12 2009 07:08:36)
Run Code Online (Sandbox Code Playgroud)
我比较了vimrc两个用户的文件,我知道所有设置,但没有找到与此行为相关的任何设置/配置。
这种行为是否与 shell 配置有关?如何设置事物,以便获得user1场景中所示的行为?
我无法轻松描述这一点,也很难用谷歌搜索,因为我不知道用什么关键字来寻找这种行为。让我知道,如果我应该进一步详细说明。
我经常打开大文件,通过日志查找信息。由于在我的情况下所有行都有时间戳,并且我确定信息存在于整个文件的哪个部分是我感兴趣的。例如,
因此,要以这种方式快速导航,即按百分比进行导航 - 中是否有任何现有功能可用vim?
我需要在一个大文档中找到特定的长度数字。我尝试为此使用正则表达式。例如,如果我需要搜索正好为 2 位的数字,我会使用\d\d(即 /d 两次后跟一个空格)。这很好用。
但是要找到 10 位数字,输入\d10 次实际上并不可行。
试过\d{2},说' E486:找不到模式:\d{2} '
有没有更快/更容易的方法来实现这一目标?
最近我知道--那是双连字符,它用于告诉命令选项列表已经结束,后面的内容不应被视为选项。所以,
grep -- 'search_word' *
Run Code Online (Sandbox Code Playgroud)
将搜索给定的search_word. 但是,如果您删除--并且有一个以 开头的文件,您可能会看到意外行为-,这将打开与filename 中的字符匹配的选项。
这叫什么--?这有什么技术术语吗?
我有一个用逗号 ( ,)分隔的输入文件。有一些用双引号括起来的字段中包含逗号。这是示例行
123,"ABC, DEV 23",345,534.202,NAME
Run Code Online (Sandbox Code Playgroud)
我需要删除双引号和双引号内出现的所有逗号。所以上面的行应该被解析为如下所示
123,ABC DEV 23,345,534.202,NAME
Run Code Online (Sandbox Code Playgroud)
我尝试了以下使用sed但没有给出预期的结果。
sed -e 's/\(".*\),\(".*\)/\1 \2/g'
Run Code Online (Sandbox Code Playgroud)
任何快速的运用了sed,awk或者任何其他Unix工具吗?
我有一个包含多行的文件,每一行的开头都有一个时间戳,例如
[Thread-3] (21/09/12 06:17:38:672) logged message from code.....
Run Code Online (Sandbox Code Playgroud)
所以,我经常从这个日志文件中检查两件事。
是否有任何快速方便的单个命令可以让我只显示文件的前几行和最后几行?
有什么方法可以快速禁用/启用颜色编码vimdiff?问题是,我有彩色文本vim并且文本是不可见的,因为文本颜色是红色,并且vimdiff太试图将背景颜色设置为红色,使其难以阅读。
所以,我想暂时禁用颜色编码,以验证文本并稍后重新启用它。任何快速,简单的方法来做到这一点?
我想将密码作为输入,但我希望用户能够像其他实用程序处理它一样输入它,即字符不会出现在屏幕上。我试着搜索这个,但没有找到确切的答案。
我需要接收一个变量,然后我会将输入与来自脚本开头的配置文件之一的预定义独立密码硬编码变量相匹配。
$./startScript
username: mtk
password: ********
Run Code Online (Sandbox Code Playgroud)
*显示为占位符。我需要这部分不可见。当前,密码在用户键入时显示。
这该怎么做?