小编Vil*_*age的帖子

如何在BASH条件中检查文件是否有多于1行?

我需要检查一个文件是否有超过1行.我试过这个:

if [ `wc -l file.txt` -ge "2" ]
then
    echo "This has more than 1 line."
fi


if [ `wc -l file.txt` >= 2 ]
then
    echo "This has more than 1 line."
fi
Run Code Online (Sandbox Code Playgroud)

这些只是报告错误.如何在BASH条件中检查文件是否包含多行?

bash conditional

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

在第二个文件中没有匹配的文件中删除行的最快方法是什么?

我有两个文件,wordlist.txttext.txt.

第一个文件wordlist.txt包含中文,日文和韩文的大量单词列表,例如:

?
??
?
Run Code Online (Sandbox Code Playgroud)

第二个文件text.txt包含长段落,例如:

???????
??OK????
Run Code Online (Sandbox Code Playgroud)

我想创建一个新的单词列表(wordsfount.txt),但它应该只包含wordlist.txt至少在其中找到一行的那些行text.txt.上面的输出文件应该显示如下:

?
??
Run Code Online (Sandbox Code Playgroud)

在此列表中找不到"我",因为它从未找到过text.txt.

我想找到一种非常快速的方法来创建此列表,该列表仅包含第二个文件中的第一个文件中的行.

我在BASH中知道一种简单的方法来检查每一行worlist.txt并查看它是否在text.txt使用中grep:

a=1
while read line
do
    c=`grep -c $line text.txt`
    if [ "$c" -ge 1 ]
    then
    echo $line >> wordsfound.txt
    echo "Found" $a
fi
    echo "Not found" $a
    a=`expr $a + 1`
done < wordlist.txt
Run Code Online (Sandbox Code Playgroud)

不幸的是,这wordlist.txt是一个很长的清单,这个过程需要很长时间.必须有一个更快的解决方案.这是一个考虑因素:

由于文件包含CJK字母,因此可以将它们视为一个包含大约8,000个字母的巨型字母.所以几乎每个单词都共享字符.例如:

?
??
Run Code Online (Sandbox Code Playgroud)

由于这个事实,如果从未找到"我" text.txt,那么"我们"也不会出现.更快的脚本可能首先检查"我",并且在发现它不存在时,将避免检查包含在 …

ruby bash perl cjk python-2.7

18
推荐指数
4
解决办法
1208
查看次数

如何只打印BASH中的独特线条?

如何仅打印在文件中出现一次的那些行?例如,给定此文件:

mountain
forest
mountain
eagle
Run Code Online (Sandbox Code Playgroud)

输出将是这个,因为该行mountain出现两次:

forest
eagle
Run Code Online (Sandbox Code Playgroud)
  • 如有必要,可以对行进行排序.

bash uniq

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

将带编号的拼音转换为带有音标的拼音

是否有任何脚本,库,或使用程序PythonBASH工具(例如awk,perl,sed),它可以正确地转换编号的拼音(如dian4 nao3)为UTF-8带声调的拼音(如厂甸nǎo)?

我找到了以下示例,但它们需要PHP#C:

我也发现了各种在线工具,但它们无法处理大量的转换.

python bash cjk

17
推荐指数
4
解决办法
2688
查看次数

如何检查Lua中的值是否为空?

在Lua中对条件进行检查是否为空的正确方法是什么?if x == ""并且f x ~= ""似乎没有工作.

lua conditional

17
推荐指数
3
解决办法
4万
查看次数

如何从Lua中的字符串中删除空格?

我想从Lua中的字符串中删除所有空格.这是我尝试过的:

string.gsub(str, "", "")
string.gsub(str, "% ", "")
string.gsub(str, "%s*", "")
Run Code Online (Sandbox Code Playgroud)

这似乎不起作用.如何删除所有空格?

lua replace

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

在每个字母之间添加空格

如何在UTF-8文档中的每个字符或符号之间添加空格?我123hello!变成了1 2 3 h e l l o !.

  • 我有BASH,OpenOffice.orggedit,如果其中任何一个可以做到这一点.
  • 我不在乎它是否有时会在一些地方留下额外的空间(例如,在一个地方有2或3个空格没问题).

bash openoffice.org

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

用"\#","\ $","\%","\&"和"\ _"替换"#","$","%","&"和"_"

我有一个纯文本文档,我想在LaTeX中编译.但是,有时它有字符"#","$","%","&"和"_".要在LaTeX中正确编译,我必须先用"#","\ $","\%","\&"和"_"替换这些字符.我用过这一行sed:

sed -i 's/\#/\\\#/g' ./file.txt
sed -i 's/\$/\\\$/g' ./file.txt
sed -i 's/\%/\\\%/g' ./file.txt
sed -i 's/\&/\\\&/g' ./file.txt
sed -i 's/\_/\\\_/g' ./file.txt
Run Code Online (Sandbox Code Playgroud)

它是否正确?

遗憾的是,该文件太大而无法在任何GUI软件中打开,因此sed使用文本编辑器检查我的行是否正确是很困难的.我尝试搜索grep,但搜索没有按预期工作(例如下面,我搜索任何包含"$"的行):

grep "\$" file.txt
Run Code Online (Sandbox Code Playgroud)
  • 将"\"放在这些角色前面的最佳方法是什么?
  • 如何使用grep替换成功检查线路?

bash grep latex escaping sed

12
推荐指数
1
解决办法
1万
查看次数

为什么sed会留下很多文件?

我注意到我的目录中有很多文件,称为"sedAbCdEf"等.

  • 为什么要创建这些文件?
  • 脚本运行后这些是否有任何价值?
  • 我可以将这些文件发送到其他位置/tmp/吗?

更新:

我检查了脚本,直到找到了制作文件的脚本.以下是一些示例代码:

#!/bin/bash
a=1
b=`wc -l < ./file1.txt`
while [ $a -le $b ]; do
    for i in `sed -n "$a"p ./file1.txt`; do
        for j in `sed -n "$a"p ./file2.txt`; do
            sed -i "s/$i/\nZZ$jZZ\n/g" ./file3.txt
            c=`grep -c $j file3.txt`
            if [ "$c" -ge 1 ]
            then
                echo $j >> file4.txt
                echo "Replaced "$i" with "$j" "$c" times ("$a"/"$b")."
            fi
                echo $i" not found ("$a"/"$b")."
            a=`expr $a + 1`
        done
    done
done
Run Code Online (Sandbox Code Playgroud)

linux sed

12
推荐指数
2
解决办法
9284
查看次数

如何查找和替换所有百分比,加号和管道标志?

我有一个包含许多百分比,加号和管道标志的文件.我想用代码替换它们,以便在TeX中使用.

  • %成为\textpercent.
  • +成为\textplus.
  • |成为\textbar.

这是我正在使用的代码,但它不起作用:

sed -i "s/\%/\\\textpercent /g" ./file.txt
sed -i "s/|/\\\textbar /g" ./file.txt
sed -i "s/\+/\\\textplus /g" ./file.txt
Run Code Online (Sandbox Code Playgroud)

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

sed

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

标签 统计

bash ×6

sed ×3

cjk ×2

conditional ×2

lua ×2

escaping ×1

grep ×1

latex ×1

linux ×1

openoffice.org ×1

perl ×1

python ×1

python-2.7 ×1

replace ×1

ruby ×1

uniq ×1