我有一个目录~/Documents/machine_learning_coursera/
。
命令
find . -type d -name '^machine'
Run Code Online (Sandbox Code Playgroud)
没有找到任何东西
我也试过
find . -type d -regextype posix-extended -regex '^machine'
Run Code Online (Sandbox Code Playgroud)
以便匹配字符串的开头而没有。
我也试过-name
:
find . -type d -regextype posix-extended -regex -name '^machine'
Run Code Online (Sandbox Code Playgroud)
并得到错误:
find: paths must precede expression: `^machine'
Run Code Online (Sandbox Code Playgroud)
我在这里做错了什么?
这在语法上是正确的:
for f in *bw;do echo $f;done
Run Code Online (Sandbox Code Playgroud)
但是我如何添加一个扩展来循环其中一个?
for f in *bw|*txt;do echo $f;done
Run Code Online (Sandbox Code Playgroud)
for f in *bw or *txt;do echo $f;done
Run Code Online (Sandbox Code Playgroud)
我有一个看起来像这样的文件:
chr1 3143567 3143568 .3-2704 1.000000|ENSMUSG00000102693.2
chr1 3143599 3143600 .3-2705 1.000000|ENSMUSG00000102693.2
chr1 3143631 3143632 .3-2706 1.000000|ENSMUSG00000102693.2
chr1 3143663 3143664 .3-2707 1.000000|ENSMUSG00000102693.2
chr1 3143695 3143696 .3-2708 1.000000|ENSMUSG00000102693.2
chr1 3143727 3143728 .3-2709 1.000000|ENSMUSG00000102693.2
Run Code Online (Sandbox Code Playgroud)
我正在编写 2 个 sed 表达式来过滤|
第一个表达式之前的所有内容,并且对于结果文件,我会丢弃之后的所有内容,.
如下所示:
sed -n -e 's/^.*|//p' original_file.txt > first_result.txt
sed -n -e 's/\..*//p' first_result.txt > final_result.txt
我怎样才能将所有这些写在一行中?
最终目标是捕获ENSMUSG00000102693