无法在AWK中为字段分隔符设置多个字符
我想在AWK中使用-[space]作为字段分隔符 比如说,无法在AWK中为字段分隔符设置多个字符,awk,Awk,我想在AWK中使用-[space]作为字段分隔符 比如说, awk -F-[space] {' print $1 '} 在AWK中,如何使用多个字符作为字段分隔符 [编辑] 弗拉德命令的准确输出 $echo /Users/Sam/Dropbox/Education/Chemistry/Other\ materials/*.pdf | sed -e 's: : - :g' /Users/Sam/Dropbox/Education/Chemistry/Other - materials/CHE_I
awk -F-[space] {' print $1 '}
在AWK中,如何使用多个字符作为字段分隔符
[编辑]
弗拉德命令的准确输出
$echo /Users/Sam/Dropbox/Education/Chemistry/Other\ materials/*.pdf | sed -e 's: : - :g'
/Users/Sam/Dropbox/Education/Chemistry/Other - materials/CHE_IB_LAB.pdf - /Users/Sam/Dropbox/Education/Chemistry/Other - materials/Lecture19_20_21.pdf
$echo /Users/Sam/Dropbox/Education/Chemistry/Other\ materials/*.pdf
/Users/Sam/Dropbox/Education/Chemistry/Other materials/CHE_IB_LAB.pdf /Users/Sam/Dropbox/Education/Chemistry/Other materials/Lecture19_20_21.pdf
Vlad命令与sed的精确输出
$echo /Users/Sam/Dropbox/Education/Chemistry/Other\ materials/*.pdf | sed -e 's: : - :g'
/Users/Sam/Dropbox/Education/Chemistry/Other - materials/CHE_IB_LAB.pdf - /Users/Sam/Dropbox/Education/Chemistry/Other - materials/Lecture19_20_21.pdf
$echo /Users/Sam/Dropbox/Education/Chemistry/Other\ materials/*.pdf
/Users/Sam/Dropbox/Education/Chemistry/Other materials/CHE_IB_LAB.pdf /Users/Sam/Dropbox/Education/Chemistry/Other materials/Lecture19_20_21.pdf
知道你的引用:),但要知道GNUawk
的-F
将扩展正则表达式(ERE)作为其参数,因此如果你想要文本匹配而不是ERE匹配,你可能也需要相应地转义,例如
awk -F '- ' '{ print $1 }'
更新
你最近的评论还不清楚
../Phy/Phy1/file1.pdf
../Phy/file2.pdf
../Che/Che1/file3.pdf
../Che/file4.pdf
../file5.pdf
../Phy2/file6.pdf
PhyPhy1 file1.pdf - Phy file2.pdf - Che/Che1 file3.pdf - Che file4.pdf
echo lpr ../{Che,Phy}/{*.pdf,*/*.pdf}
将仅显示:
让我们先把这部分搞定,然后再考虑仪表板等问题
更新 嗯。请运行以下一个或两个几乎相同的命令:
echo Dropbox/Mas/edu/{Phy,Che}/*.pdf | sed -e 's: : - :g'
ls -1d Dropbox/Mas/edu/{Phy,Che}/*.pdf | paste -s -d '|' - | sed -e 's:|: - :g'
然后,请编辑您的原始帖子并添加以下内容(分开):
我无法将空格用作字段分隔符。在下面的代码$echo lpr/./{Che,Phy}/{.pdf,*/.pdf}| awk-F'-''{print$1}'中您是否看到任何错误?t仅打印第一次出现的代码。我想打印所有事件。也许,我的错误在1美元。这是否意味着打印所有事件?打印$1打印第一列。。。你到底想达到什么目的?你可能想在pdf文件名之间插入破折号吗?如果是这样,那么使用sed将空格替换为空格,例如空格:echo a b c d | sed-e's::-:g'@Vlad:I试图通过AWK将pdf文件名替换为列表,而不是行。