[英]Remove prefix from auto string bash script
解决了
在代码中使用cut -c 4-
并添加了用于打印文件"$CURFILE1" {
新变量 CURFILE1 "$CURFILE1" {
CURFILE="$(basename "$file")"
CURFILE1=$(echo $CURFILE | cut -c 4-)**
之前的代码部分
cp -a $AUTOFILE $AUTOFILE.old > $AUTOFILE.new
for file in /../pictures/*; do
CURFILE="$(basename "$file")"
cat <<EOF >> $AUTOFILE.new
file "$CURFILE" {
修改后的代码部分
cp -a $AUTOFILE $AUTOFILE.old > $AUTOFILE.new
for file in /../pictures/*; do
CURFILE="$(basename "$file")"
CURFILE1=$(echo $CURFILE | cut -c 4-)**
cat <<EOF >> $AUTOFILE.new
file "$CURFILE1" {
你好,有人可以帮我写 bash 脚本吗? 我正在努力创建自动填充文件,其中包含有关目录中现有文件的信息,其中包含一些参数和更多代码...
问题是所有文件都使用前缀例如: f1.file ,所以我需要删除f1.file 。 并只留下file 。 有关找到的文件的信息作为信息“文本”存储在一个文件中。
我需要在生成文件时在 bash 中使用一些函数,并在此行file "$CURFILE" {
自动删除前缀。 CURFILE 是名称,例如:f1.file,我需要删除那个f1。
更具体一点:
请不要发布代码片段。
请参阅如何创建最小可重现示例。
让我用我们在 SO 上使用的方式重新表述您的问题:
您有一个包含字符串f1.file
的变量CURFILE
并且您希望它包含file
。 做就是了:
CURFILE=${CURFILE#*.}
假设您必须删除的前缀由.
, ${CURFILE#*.}
将从您的字符串前面删除任何后跟一个点的字符串。
根据您的代码,您总是想创建一个新变量CURFILE1
,它与CURFILE
相同,但没有前 3 个字符。 为此,没有必要对子进程使用命令替换。 做一个
CURFILE1=${CURFILE#???}
如果你想确保只有一个f1.
被删除,而不是,比如说,初始f2.
, 取而代之的是
CURFILE1=${CURFILE#f1.}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.