代码之家  ›  专栏  ›  技术社区  ›  Rohan Kishibe

将输出分配给变量[duplicate]时,awk命令无法正常工作

  •  0
  • Rohan Kishibe  · 技术社区  · 7 年前

    我试图将文件名中的空格转换为下划线,我的脚本是 如下所示。

    old_file=/home/somedir/otherdir/foobar 20170919.csv
    new_file="$(basename "$old_file")" | awk 'gsub(" ","_")'
    

    当我与一起使用时,这个脚本可以很好地工作 echo

    echo "$(basename "$old_file")" | awk 'gsub(" ","_")'
    

    有人知道这个主意吗?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Akshay Hegde    7 年前

    awk space underscore ,不仅仅是文件名,还可以是路径

    $ old_file="/home/somedir/otherdir/foobar 20170919.csv"
    $ newfile="${old_file// /_}"
    $ echo "$newfile"
    /home/somedir/otherdir/foobar_20170919.csv