我有一个这样的CSV文件:
fish,4
cat,1
elephant,1
tree,2
dog,8
car,10
Run Code Online (Sandbox Code Playgroud)
awk -F',' '{print length($1),$0}' file.csv | sort -k1nr | cut -d' ' -f 2-
对于出现在第一列中的所有单词,将按字长对文件进行排序:
elephant,1
fish,4
tree,2
cat,1
dog,8
car,10
Run Code Online (Sandbox Code Playgroud)
sort -t, -k+2 -n -r file.csv
将根据第二列中出现的数字将文件从最大到最小排序:
car,10
dog,8
fish,4
tree,2
elephant,1
cat,1
Run Code Online (Sandbox Code Playgroud)
如何将这两个命令一起使用,使CSV文件首先按字长排序,根据第一列中出现的字,然后在第一列中包含相等长度字的任何行根据出现的数字排序.从最大到最小的第二列.结果输出如下所示:
elephant,1
fish,4
tree,2
car,10
dog,8
cat,1
Run Code Online (Sandbox Code Playgroud)
这两种排序方法如何一起使用?
我有一个 PNG 文件的目录,根据内容的描述命名,例如:
\n\nimages/blueberry.png\nimages/blueberry_garden.png\nimages/blueberry_painting.png\nimages/carrot_garden.png\n
Run Code Online (Sandbox Code Playgroud)\n\n我还有一个关键字列表,例如:
\n\nblueberry\ngarden\n
Run Code Online (Sandbox Code Playgroud)\n\n我只需从images/
其中复制一个文件output/
,以便有一个与关键字完全相同的图像,例如:
images/blueberry.png \xe2\x86\x92 output/blueberry.png\nimages/blueberry_garden.png \xe2\x86\x92 output/garden.png\n
Run Code Online (Sandbox Code Playgroud)\n\n从哪一个匹配文件复制并不重要image/
,只要它包含关键字即可。
在 BASH 脚本中,我有这一行,查找包含单词“garden”的文件并将其复制到output/garden.png
:
cp images/*garden* output/garden.png\n
Run Code Online (Sandbox Code Playgroud)\n\n如果它只找到一个与该文件匹配的文件,则可以正常复制。然而,当它找到多个匹配项时,它不会复制任何内容。
\n\n如何复制文件,以便仅选择可能的匹配项之一进行复制?
\n我需要显示file.txt
包含字符“?”的所有行,但仅显示“?”的那些行。紧跟在a-z
,,A-Z
空格或换行符之前。
我尝试使用grep
,如下所示:
grep "[a-zA-Z\s\n]?" file.txt
Run Code Online (Sandbox Code Playgroud)
正则表达式[a-zA-Z\s\n]
似乎不起作用。在a-z
,,A-Z
空格或换行符之后出现时,如何搜索该字符?
我有一个变量,$var_c
它包含很多复杂的语法.我宁愿不需要多次重写,因为很容易犯错误.但有时数据会发生变化.
#!/bin/bash
var_a="cat"
var_b="dog"
var_c="<div class=\"pet_a\">$var_a</div><div class=\"pet_b\">$var_b</div>"
echo $var_c
var_a="fish"
var_b="whale"
echo $var_c
Run Code Online (Sandbox Code Playgroud)
这首先应该<div class="pet_a">cat</div><div class="peg_b">dog</div>
然后<div class="pet_a">fish</div><div class="peg_b">whale</div>
,然而,改变变量后$var_a
和$var_b
,$var_c
不更新.
如何告诉BASH更新此变量,而不必再次完全提供所有语法?
如何在HTML文档中填充某些文本?一些标记的文本被隐藏,替换为与原始文本完全相同的下划线,并且句子中的所有单词应该出现在没有完形填空的情况下出现的相同位置.例如:
Once upon a time there ______ a cat.
Run Code Online (Sandbox Code Playgroud)
要封闭的单词可能标记为:
Once upon a time there <div class="cloze">lived</div> a cat.
Run Code Online (Sandbox Code Playgroud)
有没有办法隐藏文本并创建一个完全相同长度的下划线?
我发现我可以用来grep -A10 "search string" file.txt
在文件中找到搜索字符串后显示 10 行或grep -B10 "search string" file.txt
之前显示 10 行。如何设置它以显示比赛前后的所有行?
例如,我有这个文件:
This is some text.
This is some more text.
This is some text.
This is some more text.
This is some text.
This is some yet more text.
This is some text.
---
This is some more text.
This is some text.
This is some more text.
Run Code Online (Sandbox Code Playgroud)
我需要在第一次搜索中打印在“---”之前找到的所有内容,无论有多少行。
我需要在第二次搜索中,打印在“---”之后找到的所有内容,无论之后有多少行。
我sed
用来查找和替换文件中的一些项目,如下所示:
sed -i "s/$a/$b/g" ./file.txt
Run Code Online (Sandbox Code Playgroud)
我需要限制此查找并替换为仅当匹配文本位于方括号之间时,例如:
The sheep lived in the barn.
One day, [the sheep ate some] grass.
The [sheep] found a nice place to sleep under the tree.
Afterwards, [the sheep ate apples under] the tree [near the barn].
The sheep [enjoyed the theme] of the movie.
Run Code Online (Sandbox Code Playgroud)
假设$a
设置为"the"并$b
设置为"B",输出将如下所示:
The sheep lived in the barn.
One day, [B sheep ate some] grass.
The [sheep] found a nice place to sleep under the tree. …
Run Code Online (Sandbox Code Playgroud)