【问题标题】:linux command line :file names that contain a number & replace stringlinux命令行:包含数字和替换字符串的文件名
【发布时间】:2013-12-27 01:22:59
【问题描述】:
所以我是 linux 新手
我想知道如何执行以下操作
1-列出所有包含数字的文件名
[我知道
$ls *[0-9]*
但如果我有一个以数字开头的文件,它将不起作用
2-还将输出中文件名中的任何“an”替换为屏幕上的“xx”打印并将其存储在文件中
我到达了
ls | tr -u "an" xx >modified.txt
问题是它将 a 更改为 x 并将 n 更改为 x ...但我想要一个不单独的在一起
谢谢
【问题讨论】:
标签:
linux
unix
command-line
operating-system
kernel
【解决方案1】:
列出所有包含数字的文件名
对于以数字开头的文件,您的示例对我来说很好,因此您可能想澄清您使用的是哪种 Linux 系统,或者您使用的是哪种 shell 或语言。
# In sh/bash:
ls *[0-9]*
# with perl:
perl -e '@globbed_files = <*[0-9]*>; print "@globbed_files\n"'
# With find (filters out directories):
find -maxdepth 1 -name '*[0-9]*' -type f
将输出中文件名中的任何“an”替换为屏幕上的“xx”打印并将其存储在文件中
ls | sed 's/an/xx/g' | tee file.out