我有一个包含括号中的一些单词的文件.我想编制出现在那里的所有独特单词的列表,例如:
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)
如何列出括号内出现的所有项目?
我有这样的代码,它处理CSV文件:
#!/bin/bash
while read line
do
variable=$(echo $line | awk -F, '{print $2}')
echo $variable
done < ./file.csv
Run Code Online (Sandbox Code Playgroud)
如果CSV文件包含any \
,则在运行此命令时,输出文本不会显示\
.
如何确保\
不删除?
我想创建多个文档(运行 pdflatex 后输出为 PDF),其来源来自一个文件。
例子:
\documentclass{article}
\begin{document}
This text will appear in the first PDF.
\end{document}
\begin{document}
This text will appear in the second PDF.
\end{document}
Run Code Online (Sandbox Code Playgroud)
这将特别有用,因为:
ifthen
或其他循环来自动生成文档的各种替代形式。我经常需要在文件中进行多次替换.为了解决这个问题,我已经创建了两个文件old.text
和new.text
.第一个包含必须找到的单词列表.第二个包含应该替换它们的单词列表.
我已经构建了这个脚本,我希望可以替换它.首先,它一次读取old.text
一行,然后将input.txt中该行的单词替换为new.text
文件中的相应单词.
#!/bin/sh
number=1
while read linefromoldwords
do
echo $linefromoldwords
linefromnewwords=$(sed -n '$numberp' new.text)
awk '{gsub(/$linefromoldwords/,$linefromnewwords);print}' input.txt >> output.txt
number=$number+1
echo $number
done < old.text
Run Code Online (Sandbox Code Playgroud)
但是,我的解决方案效果不佳.当我运行脚本时:
sed
命令不知道$number
结束的位置.$number
变量变为"1",然后变为"2"时,变量变为"0 + 1",然后变为"0 + 1 + 1".awk
除了将output.txt完全复制到output.txt之外,该行似乎没有做任何其他操作.你有什么建议吗?
更新:
标记的答案效果很好,但是,我经常使用这个脚本,需要花费很多时间才能完成.因此,我提供了一个解决方案的赏金,可以更快地完成这些替换.BASH,Perl或Python 2中的解决方案都可以,只要它仍然兼容UTF-8.如果您认为使用Linux系统上常用的其他软件的其他解决方案会更快,那么这也可能没问题,只要不需要巨大的依赖关系.
我有一个文件,file1.txt
包含英文,中文,日文和韩文文本.为了在ConTeXt中使用,我需要根据语言标记文件中的每个文本区域(英语除外),并输出一个新文件,例如,这里是一个示例行:
The ?? ate ?.
Run Code Online (Sandbox Code Playgroud)
因为它包含中文字符的文本,所以这将标记为:
The \language[cn]{??} ate \language[cn]{?}.
Run Code Online (Sandbox Code Playgroud)
\language[cn]{*}
.\language[ja]{*}
.\language[ko]{*}
.如何根据语言标记文本?
我有一个文件list.txt
,像这样:
cat
bear
tree
catfish
fish
bear
Run Code Online (Sandbox Code Playgroud)
我需要删除文档中其他地方已经完全找到的任何行,可以是重复行,也可以在另一行中找到.例如,"熊"和"熊"的行是相同的,因此删除其中一行; "猫"可以完全在"鲶鱼"中找到,因此"猫"被删除.输出看起来像这样:
catfish
tree
bear
Run Code Online (Sandbox Code Playgroud)
如何删除所有重复行,包括在列表中较长行中找到的行?
到目前为止,我有这个:
#!/bin/bash
touch list.tmp
while read -r line
do
found="$(grep -c $line list.tmp)"
if [ "$found" -eq "1" ]
then
echo $line >> list.tmp
echo $line" added"
else
echo "Not added."
fi
done < list.txt
Run Code Online (Sandbox Code Playgroud) NLTK 是一个强大的 NLP 工具,有很多文档,但我的大多数项目使用 Lua,而不是 Python。是否有使用本机 Lua 代码的 NLTK 的 Lua 等效项?
我如何限制查找和替换以替换项目,但如果紧接在它之前的字符是"A","B"或"C"或紧跟在它之后的字符是"X","Y"或"Z"则不能".例如,给定这些输入行,如果要用"pet"替换"cat"替换:
我需要在网页上反复放置一个星号?。有没有一种方法可以在HTML或CSS中指定符号以及应显示多少次?例如,类似这样,但不一定是相同的语法,其中指定了一个项目以及一个数量:
<repeat n="5">?</repeat>
Run Code Online (Sandbox Code Playgroud)
这将导致:
?????
Run Code Online (Sandbox Code Playgroud) 我有一些TSV文件,我需要转换为CSV文件.BASH中是否有任何解决方案,例如使用awk
,转换这些?我可以sed
像这样使用,但我担心它会犯一些错误:
sed 's/\t/,/g' file.tsv > file.csv
Run Code Online (Sandbox Code Playgroud)
如何将TSV转换为CSV?