目录中有很多文件。我想在该目录中打印前四个文件名的前四个字符。假设文件位于
目录中test101.dat
test102.dat
......
......
xyzt409.dat
yreh302.dat
所以我的输出将是:test和yrch
我尝试了以下但是没有给出结果。
$directory=/xyx
h1=$(echo ls -l < $directory | head |awk '{print substr( $0,1,4)}')
t1=$(echo ls -l < $directory | tail |awk '{print substr( $0,1,4)}')
echo $h1 " " $t1
答案 0 :(得分:1)
数据:
$ /bin/ls -1
client.py
data.txt
server.py
shittest.py
强制性的Python解决方案只需调用ls -1
一次就足够了:
$ /bin/ls -1 | python -c "import sys;l=sys.stdin.readlines();print l[0][:4];print l[-1][:4]"
clie
shit
答案 1 :(得分:1)
你不需要所有这些复杂性。使用这个简单的BASH脚本:
figure:nth-child(8) {
animation: xfade 48s 0s infinite;
-webkit-animation: xfade 48s 0s infinite;
}
@-webkit-keyframes xfade{
0%{
opacity: 1;
}
10.5% {
opacity: 1;
}
12.5%{
opacity: 0;
}
98% {
opacity: 0;
}
100% {
opacity: 1;
}
}
@keyframes xfade{
0%{
opacity: 1;
}
10.5% {
opacity: 1;
}
12.5%{
opacity: 0;
}
98% {
opacity: 0;
}
100% {
opacity: 1;
}
}
答案 2 :(得分:0)
试试这个
$directory=/xyx
h1=$(echo ls -l < $directory | head -1 |awk '{print substr( $0,1,4)}')
t1=$(echo ls -l < $directory | tail -1 |awk '{print substr( $0,1,4)}')
echo $h1 " " $t1