想知道最快的方法是从列表中的一些分隔字段中删除文本。
我的清单是这样的:
text text:number:text:text:text:text:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*
我想让它看起来像这样
text text:*:*:*:*:text:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*:*
因此,有些有数据的字段需要用星号替换,有些字段需要保持不变,分隔符不一致(第一字段和第二字段由空格分隔)。这是在linux文件系统上进行的,最好是以内联方式在文件上这样做。
非常感谢你的帮助!
我想根据以下要求将一个平面数据文件转换为一个新文件:
1)将已分隔的制表符更改为带分隔符的“\”。
2)删除每个“列”上的任何前导和尾随空间。
3)有些列是空的,我想保持为空。例如,A++/B.(第2列为空)。
示例:
原始文件(test.dat)有一行由制表符分隔的数据,共有7列,"NY“之后的2列为空。
A New York NY Meal - Seafood Grocery Department
请注意,在某些字段中有前导/尾随空间:
(" A ", "Meal - Seafood ", &
我是linux新手,我决定学习shell脚本。我已经创建了一个包含以下文本的文件data.txt:
12345 Nick Abrams A 10900
67890 George Kennedy I 20000
(text goes on...)
第一个字段是卡的引号,第二个字段是客户的名称,第三个字段是姓,第四个字段表示卡是活动的(还是不活动的),最后一个字段是客户的余额。我需要写一个脚本,从键盘接收客户端的引脚,如果这个引脚是写在文本文件中的,那么脚本应该在屏幕上打印客户的名字和姓氏。我像这样使用了grep
grep "^$pin" data.txt
但它会返回客户的所有细节
如何使用sed用文本替换空行?我尝试了一些早些时候发布的技巧,但它不起作用。有人能帮我吗?
示例文件内容-
Linux is an os.
Linux is opensource
Linux has various flavors like fedora,centos etc.
我想用像hello这样的文字来代替这些空白行。
我想从文件中提取不包含特定模式的所有行。
pattern="tmp/[...]/include/linux/*.h"
file contains:
17937;/home/[...]/tmp/[...]/include/linux/header.h;484;16;[Other text here]
37417;/home/[...]/tmp/[...]/src/file.cpp;1851;41;[Other text here]
17945;/home/[...]/tmp/[...]/include/linux/*/header.h;484;16;[Other text her
我有一堆带有逗号分隔字段的文件,而且我使用的是redhat linux。我像这样执行下面的awk命令:
awk --re-interval -F "," '$4~/xyz:8080\/proxyval\/getPages.do\?fd=1d[0-9]{1}/ { print }' *
204:1,204,null,xyz:8080/proxyval/getPages.do?fd=1d7d7 ----> dont expect to see this
204:1,204,null,xyz:8080/proxyval/getPages.do?fd=1d
我的文件包含以下几行
File.txt
Unix is good
Linux and unix is different?
Linux is also good, then what about unix?
这里我要输出
(1st line blank)
Linix and
Linux is also good, then what about
在这里vi命令或任何其他命令都会给出这个输出?搜索特定的单词,如果这是对的话,然后删除那个词,然后删除该行中的所有单词。
我有一个格鲁选项文件,我想通过脚本修改。我想添加额外的引导加载程序选项。
该文件可能会随着时间的推移而改变,因此我希望通过在映像附带的任何引导加载程序选项中添加一些适应未来版本的内容。
例如,引导加载程序文件包含以下内容:
# Set the recordfail timeout
GRUB_RECORDFAIL_TIMEOUT=0
# Do not wait on grub prompt
GRUB_TIMEOUT=0
# Set the default commandline
GRUB_CMDLINE_LINUX_DEFAULT="console=tty1 console=ttyS
假设我有一个以Unix格式创建的文件。现在,在将该文件发送到窗口之前,必须完成EOL转换。
我需要在bash中这样做,这就是我到目前为止所拥有的:
为了简单起见,假设我的文件名为file_linux.txt,它提供以下输出:
cat -A file_linux.txt
first line$
second line$
third line$
file file_linux.txt
file_linux.txt: ASCII text
因此,似乎我只需要在$符号之前添加回车(^M或\r)。
我的想法是使用sed将$替换为\r$,方法如下:
sed 's/$/\r$/g' fil
./mercurystandalone-3.3-linux-installer.run
什么也没发生
双击文件管理器中的可执行文件
它允许我选择要运行的默认程序。
在properties中,我已经检查了选项allow executing file as program
我试过的另一个命令是:
uname -a
Linux ubuntu 3.8.0-34-generic #49~precise1-Ubuntu SMP Wed Nov 13 18:05:00 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
file ./mercurystandalone-3.3