小编Vil*_*age的帖子

在一个while循环中读取两个文件中的行

我有一个文件,file1.csv包含:

This
is
some
text.
Run Code Online (Sandbox Code Playgroud)

while read line用来循环每一行,例如:

while read line; do
    echo $line
done < file1.csv
Run Code Online (Sandbox Code Playgroud)

我有另一个文件,行数相同,称为file2.csv:

A
B
C
D
Run Code Online (Sandbox Code Playgroud)

每行的数据对应于相同行号的第一个文件中的数据.

  • 如何修改while循环,以便它可以打印相应的行file2.csv

bash

9
推荐指数
3
解决办法
9184
查看次数

如何用sed替换其他语法的成对方括号?

我想替换文件中的所有方括号对,例如[some text],用\macro{some text},例如:

This is some [text].
This [line] has [some more] text.
Run Code Online (Sandbox Code Playgroud)

这变为:

This is some \macro{text}.
This \macro{line} has \macro{some more} text.
Run Code Online (Sandbox Code Playgroud)
  • 这些对只出现在单独的行上,从不跨越多行.
  • 有时在一行上可能有多个对,但它们从不嵌套.
  • 如果在一条线上单独找到一个括号,没有一对,则不应更改它.

如何用这段代码替换这些括号对?

bash sed

9
推荐指数
2
解决办法
3万
查看次数

更改电子表格中每个单元格中第一个字母的大小写

我有很多单元格,我想转换,以便每个单元格中的第一个字母大写.我cook, chef, fireman变成了Cook, Chef, Fireman.

  • 我在OpenOffice.org中有电子表格,但它似乎只有"全部大写"或"全部小写"的选项.
  • 如果OpenOffice.org无法执行此操作,我可以在OpenOffice.org中编辑它或导出为CSV并使用BASH脚本编辑CSV.

如何将电子表格中每个单元格的首字母更改为大写?

python csv bash perl openoffice-calc

8
推荐指数
4
解决办法
4778
查看次数

将文件中每行的第一个字母更改为大写

我需要将文件中每行的第一个字母更改为大写,例如

the bear ate the fish.
the river was too fast.
Run Code Online (Sandbox Code Playgroud)

会成为:

The bear ate the fish.
The river was too fast.
Run Code Online (Sandbox Code Playgroud)
  • 该文件包含一些特殊字母:a,a,á,à,ǎ,ā,b,c,d,e,e,é,è,ě,ē,f,g,h,i,i,í,ì ,ǐ,ī,j,k,l,m,n,o,o,ó,ò,ǒ,ō,p,q,r,s,t,u,u,ú,ù,ǔ,ü,ǘ ,ǜ,ǚ,ǖ,ū,v,w,x,y和z.
  • 这些字母的大写形式是:A,A,Á,À,Ǎ,Â,B,C,D,E,E,É,È,Ě,Ē,F,G,H,I,I,Í, Ì,Ǐ,Ī,J,K,L,M,N,O,O,Ó,Ò,Ǒ,Ō,P,Q,R,S,T,U,U,Ú,Ù,Ǔ,Ü, Ǘ,Ǜ,Ǚ,Ǖ,Ū,V,W,X,Y和Z.

如何将文件中每行的第一个字母更改为大写?

bash case unicode-string

8
推荐指数
3
解决办法
9657
查看次数

如何检测是否使用PhotoShop编辑了PNG?

我有一个PNG格式的软件屏幕截图目录.我发现其中一个是在PhotoShop或类似工具中编辑的.我想在目录中识别也被编辑的其他PNG.如果编辑器不小心,是否有任何批处理工具可用于查看文件是否已从PhotoShop打开并保存,例如通过查看元数据或其他详细信息?

photoshop png metadata

8
推荐指数
1
解决办法
2384
查看次数

如何用BASH中的递增数替换所有匹配?

我有这样的文本文件:

AAAAAA this is some content.
This is AAAAAA some more content AAAAAA. AAAAAA
This is yet AAAAAA some more [AAAAAA] content.
Run Code Online (Sandbox Code Playgroud)

我需要AAAAAA用递增的数字替换所有出现的,例如,输出看起来像这样:

1 this is some content.
This is 2 some more content 3. 4
This is yet 5 some more [6] content.
Run Code Online (Sandbox Code Playgroud)

如何用递增的数字替换所有匹配?

bash sed

8
推荐指数
2
解决办法
5304
查看次数

如何打印只包含BASH列表中字符的行?

我有一个名为"dictionary.txt"的文件,其中包含所有可能单词的列表,例如:

a
aardvark
act
anvil
ate
...
Run Code Online (Sandbox Code Playgroud)

如何搜索此内容,仅打印包含有限列表中字母的行,例如,如果列表中包含字母"c","a"和"t",搜索将显示以下单词:

a
act
cat
Run Code Online (Sandbox Code Playgroud)

如果搜索字母"e","a"和"t",则只能从"dictionary.txt"中找到这些单词:

a
ate
eat
tea
Run Code Online (Sandbox Code Playgroud)

我管理的唯一解决方案是:

  • 创建所有可能的字母列表.
  • 从此列表中删除搜索到的字母,留下我不想搜索的字母列表.
  • 使用for循环循环每个字母,删除包含这些字母的字典中的所有行.
  • 打印字典中的其余单词.

这个解决方案非常慢.此外,我需要将此代码与其他语言一起使用,这些语言有数千个可能的字符,因此这种搜索方法特别慢.

如何仅打印"dictionary.txt"中仅包含搜索字母的那些行,而不打印其他内容?

regex bash grep

8
推荐指数
4
解决办法
7432
查看次数

在一条线上搜索和标记成对的图案

我需要搜索并标记在一条线上某处分割的图案.以下是一个缩短的样本模式列表,它们放在一个单独的文件中,例如:

CAT,TREE
LION,FOREST
OWL,WATERFALL
Run Code Online (Sandbox Code Playgroud)

如果第2列中的项目出现在与第1列中的项目相同的行之后,则会出现匹配.例如:

THEREISACATINTHETREE. (matches)
Run Code Online (Sandbox Code Playgroud)

如果第2列中的项目首先出现在该行上,则不会显示匹配项,例如:

THETREEHASACAT. (does not match)
Run Code Online (Sandbox Code Playgroud)

此外,如果第1列和第2列中的项目触摸,则不会出现匹配,例如:

THECATTREEHASMANYBIRDS. (does not match)
Run Code Online (Sandbox Code Playgroud)

一旦找到任何匹配,我需要标记它\start{n}(出现在第1列项目之后)和\end{n}(出现在第2列项目之前),其中n是一个简单的计数器,随着任何匹配的发现,它会随时增加.例如:

THEREISACAT\start{1}INTHE\end{1}TREE.
Run Code Online (Sandbox Code Playgroud)

这是一个更复杂的例子:

THECATANDLIONLEFTTHEFORESTANDMETANDOWLINTREENEARTHEWATERFALL.
Run Code Online (Sandbox Code Playgroud)

这变为:

THECAT\start{1}ANDLION\start{2}LEFTTHE\end{2}FORESTANDMETANDOWL\start{3}INA\end{1}TREENEARTHE\end{3}WATERFALL.
Run Code Online (Sandbox Code Playgroud)

有时在同一个地方有多个匹配:

 THECATDOESNOTLIKETALLTREES,BUTINSTEADLIKESSHORTTREES.
Run Code Online (Sandbox Code Playgroud)

这变为:

 THECAT\start{1}\start{2}DOESNOTLIKETALL\end{1}TREES,BUTINSTEADLIKESSHORT\end{2}TREES.
Run Code Online (Sandbox Code Playgroud)
  • 文件中没有空格.
  • 许多非拉丁字符出现在文件中.
  • 模式匹配只需要在同一行上找到(例如,第1行的"CAT"与第2行的"TREE"不匹配,因为它们位于不同的行上).

如何找到这些匹配并以这种方式标记它们?

ruby bash perl python-2.7

7
推荐指数
2
解决办法
474
查看次数

如何找到括号之间出现的所有单词?

我有一个包含括号中的一些单词的文件.我想编制出现在那里的所有独特单词的列表,例如:

This is some (text).
This (text) has some (words) in parenthesis.
Sometimes, there are numbers, such as (123) in parenthesis too.
Run Code Online (Sandbox Code Playgroud)

这将是结果列表:

text
words
123
Run Code Online (Sandbox Code Playgroud)

如何列出括号内出现的所有项目?

bash grep

7
推荐指数
2
解决办法
2万
查看次数

计算单词列表中每个单词出现在文件中的次数?

我有一个文件,list.txt其中包含一个单词列表.我想检查每个单词出现在另一个文件中的次数file1.txt,然后输出结果.所有数字的简单输出就足够了,因为我可以手动将它们添加到list.txt电子表格程序中,但如果脚本在每行的末尾添加数字list.txt,那就更好了,例如:

bear 3
fish 15
Run Code Online (Sandbox Code Playgroud)

我试过这个,但它不起作用:

cat list.txt | grep -c file1.txt
Run Code Online (Sandbox Code Playgroud)

bash grep

7
推荐指数
1
解决办法
6389
查看次数

标签 统计

bash ×9

grep ×3

perl ×2

sed ×2

case ×1

csv ×1

metadata ×1

openoffice-calc ×1

photoshop ×1

png ×1

python ×1

python-2.7 ×1

regex ×1

ruby ×1

unicode-string ×1