我想写这样的东西:
$ ls **.py
为了获得所有.py文件名,递归地遍历目录层次结构。
即使有需要查找的.py文件,shell (bash)也会给出以下输出:
ls: cannot access **.py: No such file or directory
有办法做我想做的事吗?
编辑:我想说明我对ls的具体情况不感兴趣,但问题是关于glob语法的。
我有一个名为exam的文件夹。这个文件夹有三个文件夹,分别是数学,物理和英语。所有这些文件夹都有一些子文件夹和文件。我想遍历每个文件夹,并将每个文件夹和文件的路径打印到另一个名为files的文件中。我已经这样做了:
#!/bin/bash
LOC="/home/school/exam/*"
{
for f in $LOC
do
echo $f
done
} > "files"
我得到的出口是:
/home/学校/考试/数学
/家庭/学校/考试/物理
/home/学校/考试/英语
我不知道如何让代码访问并对exam的子文件夹做同样的
我正在尝试编写一个bash脚本,该脚本递归地遍历目录中的文件,并将文件名和十六进制转储写入文件。我当前的脚本:
#/bin/sh
touch hexdump.txt
for filename in logical/*; do
echo "$filename"
"$filename" >> hexdump.txt
hd /logical/"$filename" >> hexdump.txt
done
当前输出为:
logical/*
./hexadecimalExtraction.sh: line 5
关于这个问题,我遵循了其他问题的方向,但似乎解决不了我的问题。因此,这是一个复制,因为其他答案不起作用。
.eamcs方案部分如下所示:
(setq geiser-racket-binary "/Applications/Racket\ v6.2/bin/racket")
这就是二进制文件在我的系统中的确切位置。
/Applications/Emacs.app/Contents/MacOS/Emacs-x86_64-10_9: /Applications/Racketv6.2/bin/racket: No such file or directory
这两种方法在终端机上都能正
我有一个关于bash如何工作的基本问题,以及一个相关的实际问题。
基本问题:假设我在一个目录中,该目录有三个子目录: a、b和c。
在代码中
for dir in $(ls)
do
echo $dir
done
吐出来:
a b c
a b c
a b c
也就是说,在我的cwd中,dir总是存储所有文件/目录的列表。我的问题是:为什么这会是方便的?在我看来,让dir一次存储每个元素要有用得多,也更直观,也就是说,我希望有输出
a
b
c
此外,根据其中一个答案-使用for dir in $(ls)是错误的,但当我使用for dir in $(ls -l)时,我得到了更多的a b c
import os
myDir = "C:\\temp\\a"
for root, dirs, files in os.walk(myDir):
for file in files:
# fname = os.path.join(root, file) # this works fine, yeah!
fname = os.path.join(myDir, file)
print ("%r" % (fname))
src = os.path.isfile(fname)
if src == False:
我正在进行一个scp调用,以下载远程系统上的文件夹。下载的文件夹有子文件夹,在这些子文件夹中有一堆文件,我想将这些文件作为参数传递给python脚本,如下所示:
scp -r researcher@192.168.150.4:SomeName/SomeNameElse/$folder_name/ $folder_name/
echo "File downloaded successfully"
echo "Running BD scanner"
for d in $folder_name/*; do
if [[ -d $d ]]; then
我有一个bash脚本:
for file in `find -mindepth 1 -maxdepth 1`
do
old=`pwd`
new=".${file##*/}"
newfile="$old/${file##*/}"
cd
wd=`pwd`
link="$wd/$new"
ln -s -f $newfile $link
cd $old
done
这意味着使用'.‘在用户的主目录中创建符号链接。附加到当前工作目录
#!/bin/bash
#script to loop through directories to merge files
mydir=/data/
files="/data/*"
for f in $files
do
if[ -d "$f" ]
then
for ff in $f/*
do
echo "Processing $ff"
done
else
echo "Proc
XXXXX:~/a/n1$ ln -s n1 n
XXXXX:~/a/n1$ ls
bin doc n nc.tcsh packages scripts support VERSION
XXXXX:~/a/n1$ cd n
bash: cd: n: No such file or directory
我正在创建一个到n1的sym链接,它是n。现在,当我在bash或shell中做cd时,我无法做到。
缺少的是什么。
我有多个.tsv文件,位于不同名称的子目录(子目录不同名称)下的目录中
我正在尝试读取每个.tsv文件并执行以下命令:
df_1 = pd.read_csv("C:/Car/0NN/car.tsv", delimiter='\t', encoding="utf-8-sig")
for node1 in df_1['#node1']:
for node2 in df_1['node2']:
if node1!=node2:
df_temp = df_1.iloc[0:1
我遇到了readdir无法实际读取给定文件夹中的所有文件的问题。我只看到以下三个文件和一个文件夹:
main.cpp
main.hpp
imageLoader.hpp
util
同时,如果我使用bash ls -lat,我会得到以下列出的文件:
drwxrwxr-x 11 me me 4096 Jun 30 10:48 ..
-rw-rw-r-- 1 me me 7797 Jun 30 10:19 main.cpp
-rw-rw-r-- 1 me me 690 Jun 30 10:18 crate.hpp
-rw-rw-r-- 1 me me 2691 Jun 30 10:18 cra
谷歌帮不了我,我也搞不懂它的语法。
for file in *_01.html
do
<I want to say if a file does NOT end in *_01.html OR *.pdf then delete it>
done
所以在一个目录中,我试图让它循环遍历每个文件,如果该文件不是以whatever_01.html或whatever.pdf结尾,则将其删除。
在我的主文件夹中,我有多个子文件夹,每个子文件夹包含多个文件。我想合并每个子文件夹中的这些文件。
所以我试着这样做:
cd ../master-folder
for file in $( find . -name "*.txt" );
do
cat "all the text files in this sub folder" > "name of the subfolder.txt"
rm "all the previous text files excluding the merged output obviously
我正在学习这本书(Addison Wesley Windows系统编程第四版),我认为它没有用。我正在编写一个支持递归的搜索代码,这样它就可以深入到文件和目录中,代码工作正常(我猜)没有语法错误,但输出不是我想要的输出是这样的:
not found
Now, here are the folders:
not found
Searching in d:\iust\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.
\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\.\