Linux Ubuntu shell脚本将目录的第二个文件保存为变量
我的问题是我需要写一个脚本,它将把目录中的第二个文件作为输入。我不能简单地将第二个文件的名称写入脚本,因为脚本将用于具有不同文件名的不同目录。因此,我想将目录的第二个文件的名称设置为变量,但找不到这样做的方法Linux Ubuntu shell脚本将目录的第二个文件保存为变量,linux,shell,ubuntu,Linux,Shell,Ubuntu,我的问题是我需要写一个脚本,它将把目录中的第二个文件作为输入。我不能简单地将第二个文件的名称写入脚本,因为脚本将用于具有不同文件名的不同目录。因此,我想将目录的第二个文件的名称设置为变量,但找不到这样做的方法 任何帮助都将不胜感激,因为我对shell脚本相当陌生。谢谢 如果您的文件名不包含换行符(这是最常见的情况)或类似的陷阱 f=$(ls | head -n 2| tail -n1) 这将获取前两个文件,然后是最后一个文件。 以下是sed帮助拍摄的第8份文件: time f=$(ls | s
任何帮助都将不胜感激,因为我对shell脚本相当陌生。谢谢 如果您的文件名不包含换行符(这是最常见的情况)或类似的陷阱
f=$(ls | head -n 2| tail -n1)
这将获取前两个文件,然后是最后一个文件。
以下是sed帮助拍摄的第8份文件:
time f=$(ls | sed -n '8p')
这里有一个断线不可知的解决方案:
n=1; for f in * ; do if (( $n == 11 )); then echo $f; break; fi; ((++n)); done
line break.bad
f=$(ls | sed -n '11p'); echo $f;
line
这个文件是用
touch "line
break.bad"
那很好。您通常通过向上投票并接受答案(图标点击左侧的
^
或v
和复选标记)来表示问题已解决。通过这种方式,其他搜索答案的人可以在概览中看到,一个问题得到了多少上等投票的答案,以及提出问题的人是否接受一个答案作为解决方案。如果出现更好的答案,则可以稍后将复选标记重新分配给另一个答案。