小编Hak*_*kim的帖子

如何使用Bash检查文件是否包含特定字符串

我想在bash中检查文件是否包含特定字符串.我用过这个脚本,但它不起作用:

 if [[ 'grep 'SomeString' $File' ]];then
   # Some Actions
 fi
Run Code Online (Sandbox Code Playgroud)

我的代码有什么问题?

bash shell grep

237
推荐指数
8
解决办法
37万
查看次数

如何为wget设置代理?

我想wget使用代理下载一些东西:

HTTP Proxy: 127.0.0.1
Port: 8080
Run Code Online (Sandbox Code Playgroud)

代理不需要用户名和密码.

我怎样才能做到这一点?我查了很多网站和很多建议,但没有什么对我有用......

linux proxy wget

208
推荐指数
11
解决办法
53万
查看次数

如何连接两个字符串以构建完整的路径

我正在尝试编写一个bash脚本.在此脚本中,我希望用户输入目录的路径.然后我想在这个字符串的末尾添加一些字符串,并构建一些子目录的路径.例如,假设用户输入如下字符串:

/home/user1/MyFolder
Run Code Online (Sandbox Code Playgroud)

现在我想在这个目录中创建2个子目录并在那里复制一些文件.

/home/user1/MyFolder/subFold1
/home/user1/MyFolder/subFold2
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

linux bash

83
推荐指数
4
解决办法
11万
查看次数

如何从文本文件中删除非UTF-8字符

我有一堆阿拉伯语,英语,俄语文件,用utf-8编码.尝试使用Perl脚本处理这些文件,我收到此错误:

Malformed UTF-8 character (fatal)
Run Code Online (Sandbox Code Playgroud)

手动检查这些文件的内容,我发现其中有一些奇怪的字符.现在我正在寻找一种从文件中自动删除这些字符的方法.

无论如何要做到这一点?

linux bash text utf-8 character-encoding

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

如何将ISO8859-15转换成UTF8?

我有一个ISO8859-15编码的阿拉伯文件.如何将其转换为UTF8?
我用过,iconv但它对我不起作用.

iconv -f ISO-8859-15 -t UTF-8 Myfile.txt
Run Code Online (Sandbox Code Playgroud)

我想附上文件,但我不知道如何.

linux bash text

39
推荐指数
5
解决办法
11万
查看次数

如何在wget中使用正则表达式来拒绝文件?

我正在尝试使用wget工具下载网站的内容.我使用-R选项来拒绝某些文件类型.但是还有其他一些我不想下载的文件.这些文件的名称如下,并且没有任何扩展名.

string-ID
Run Code Online (Sandbox Code Playgroud)

例如:

newsbrief-02
Run Code Online (Sandbox Code Playgroud)

我如何告诉wget不要下载这些文件(其名称以指定字符串开头的文件)?

regex linux wget download

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

如何用特定语言下载Opensubtitles.org的所有字幕?

对不起,如果这篇文章与这个论坛无关,但我找不到任何其他地方可以提出我的问题.如果你为我介绍一个适合这篇文章的地方,将不胜感激.顺便说一下,我试图用特定语言(比如英语)下载Opensubtitles.org的所有字幕,并用另一种语言(比如阿拉伯语)找到他们的翻译.我试过wget,但我无法从这个网站下载任何有用的东西.(我需要.srt,.zip和.txt文件)每个人都可以帮助我吗?

最好成绩.

linux wget

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

使用命令行拼写检查文件,非交互式

我有一个大文本文件,包含许多错误/拼写错误的英文单词.我正在寻找一种在Linux中使用命令行拼写检查器编辑此文件的方法.我找到了一些方法来做到这一点,但根据我的搜索,他们都以互动的方式工作.我的意思是,看到一个错误/拼写错误的单词,他们建议对用户进行一些更正,他/她应该选择其中一个.由于我的文件相当大,并且包含许多错误的单词,我无法以这种方式编辑它.我正在寻找一种方法来告诉拼写检查器使用第一个候选人替换所有错误的单词.有没有办法做到这一点?(a/hun)法术有没有选择这样做?

问候.

linux command-line spell-checking aspell hunspell

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

删除不包含特定字符串的文件

我想找到不包含特定字符串的文件(在目录及其子目录中)并删除这些文件.我怎么能这样做?

linux bash grep sed

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

C++ 访问朋友类中的私有成员

我有 2 个类(firstClass 和 secondClass),其中 firstClass 是 secondClass 的朋友,并且有一个私有的嵌套 unordered_map,我想在 secondClass 的函数中访问它。所以基本上代码是这样的:

    class secondClass;
    typedef unordered_map STable<unsigned, unordered_map<unsigned, double> > NESTED_MAP;


        class firstClass{
        friend class secondClass;
        void myfunc1(secondClass* sc){
            sc->myfunc2(&STable);
        }
        private:
            NESTED_MAP STable;
        };


        class secondClass{
        public:
            void myfunc2(NESTED_MAP* st){
            //Here I want to insert some elements in STable.
            //Something like:
            st[1][2]=0.5;
            }
        };
    int main(){
            firstClass  fco;
            secondClass sco;
            fco.myfunc1(&sco);
            return 0;

        }
Run Code Online (Sandbox Code Playgroud)

我知道它应该是微不足道的,但我不知道如何解决它。任何的想法?(我更改了代码和问题以使其更清楚)

c++ private-members friend-class

4
推荐指数
1
解决办法
9287
查看次数

如何从文件中选择随机行

我有一个包含10百行不同长度的文本文件.现在我想随机选择N行,将它们保存在另一个文件中,然后从原始文件中删除它们.我已经找到了这个问题的一些答案,但是大多数都使用了一个简单的想法:对文件进行排序并选择第一行或最后N行.不幸的是,这个想法对我不起作用,因为我想保留线的顺序.我尝试了这段代码,但它非常慢并需要数小时.

FILEsrc=$1;
FILEtrg=$2;
MaxLines=$3;
let LineIndex=1;
while [ "$LineIndex" -le "$MaxLines" ]
do
# count number of lines
NUM=$(wc -l $FILEsrc | sed 's/[ \r\t].*$//g');
let X=(${RANDOM} % ${NUM} + 1);
echo $X;
sed -n ${X}p ${FILEsrc}>>$FILEtrg; #write selected line into target file
sed -i -e  ${X}d ${FILEsrc};       #remove selected line from source file
LineIndex=`expr $LineIndex + 1`;
done
Run Code Online (Sandbox Code Playgroud)

我在代码中发现这行是最耗时的一行:

sed -i -e  ${X}d ${FILEsrc};
Run Code Online (Sandbox Code Playgroud)

有没有办法克服这个问题,使代码更快?由于我很着急,我可以请你发给我完整的c/c ++代码吗?

linux random bash text sed

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

查找文本文件的编码

我有一堆带有不同编码的文本文件.但我想把所有的转换成utf-8.因为大约有1000个文件,所以我不能手动完成.我知道llinux中有一些命令可以将文件的编码从一种编码改为另一种编码.但我的问题是如何自动检测文件的当前编码?显然,我正在寻找一个命令(比如FindEncoding($ File))来做到这一点:

foreach file
do
$encoding=FindEncoding($File);
uconv -f $encoding -t utf-8 $file;
done
Run Code Online (Sandbox Code Playgroud)

linux bash encoding text file

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

拆分包含管道符的字符串

我正在使用一些包含字段分隔符的文本,它们是"||||":

substring1||||substring2
Run Code Online (Sandbox Code Playgroud)

子字符串也可能包含空格.我想根据分隔符"||||"拆分这些字符串,但我找不到合适的方法来做到这一点.我尝试了以下命令:

echo "substring1||||substring2" | awk '{split($0,a,"||||"); a[2],a[1]}'
Run Code Online (Sandbox Code Playgroud)

实际上,如果我只有一个"|"那个命令有效 作为分隔符.但我的问题是我有多个管道角色.

我也试过了

a=($(echo "substring1||||substring2" | sed -e "s/||||/\n/g")) 
Run Code Online (Sandbox Code Playgroud)

如果子字符串不包含空格,它可以正常工作.但由于子字符串可能包含空格,因此它们也会在空格中分割,这是不希望的.

任何的想法?

linux bash awk text sed

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