awk脚本没有读取要执行的输入文件

时间:2018-04-26 15:29:29

标签: awk

我无法了解如何将文件读入我的Ext.create('Ext.data.Store', { storeId: 'mystore', fields:[ 'type', 'description'], }); var combostore = Ext.create('Ext.data.Store', { fields:[ 'name'], data:[ {'name' : 'Phone'}, {'name' : 'Mobile'}, {'name' : 'Email'} ] }); Ext.create('Ext.data.Model', { fields:[ {name:'type', type:'string'}, {name:'description', type:'string'} ] }); Ext.create('Ext.form.Panel', { title: 'Order Info', width: 400, bodyPadding: 10, defaults: { anchor: '100%', padding: 5 }, items: [{ xtype: 'gridpanel', selModel: 'rowmodel', plugins: { ptype: 'cellediting', clicksToEdit: 1, pluginId: 'celleditingId' }, header:{ titlePosition: 0, items:[{ xtype:'button', text: 'Add row', handler: function(btn){ var record = Ext.create('Ext.data.Model', {}); var grid = btn.up('grid'), rowediting = grid.getPlugin('celleditingId'); grid.store.insert(0,{}); rowediting.startEdit(0, 0); } }] }, title: 'Contact', store: Ext.data.StoreManager.lookup('mystore'), columns: [{ text: 'Type', dataIndex: 'type', editor:{ xtype: 'combobox', name: 'type', valueField: 'name', displayField: 'name', store: combostore, queryMode: 'local', markDirty:false, listeners: { select: function (combo, record, eOpts){ var columnTextfieldEditor = Ext.ComponentQuery.query('#textfieldEd')[0].editor, grid = combo.up('grid'); if (combo.value === 'Phone') { Ext.apply(columnTextfieldEditor, { emptyText: 'First text', submitEmptyText: false }); var row = grid.getSelectionModel().getSelection()[0]; grid.getPlugin('celleditingId').startEditByPosition({ row: grid.store.indexOf(row), column: 1 }); // columnTextfieldEditor.setValue(''); }else { var row = grid.getSelectionModel().getSelection()[0]; grid.getPlugin('celleditingId').startEditByPosition({ row: grid.store.indexOf(row), column: 1 }); Ext.apply(columnTextfieldEditor, { emptyText: 'Second text', submitEmptyText: false }); } console.log(combo.value); console.log(columnTextfieldEditor); } } }, flex: 0.7 },{ text: 'Description', dataIndex: 'description', itemId: 'textfieldEd', editor:{ xtype: 'textfield', name: 'description' }, flex: 1 }], listeners:{ afterrender: function(grid){ var record = Ext.create('Ext.data.Model', {}); rowediting = grid.getPlugin('celleditingId'); grid.store.insert(0,{}); rowediting.startEdit(0, 0); } }, height: 200 }], renderTo: Ext.getBody(), }); 脚本。 这就是我到目前为止所拥有的。基本上,我想打印出标题,然后读入名册文件,然后我将编辑为必要的格式。但是,我的问题只是弄清楚如何读取文件。

awk

运行此

#!/bin/awk -f

BEGIN {print  "Last Name:First Name:Student ID:School – Major:Academic Level:ASURITE:Email" "\n" } {print $1,$2} roster

这就是我最终的结果 - 文件没有读入,我必须按CTRL-C的方式进行操作,因为它不会关闭。

1 个答案:

答案 0 :(得分:1)

这个想法是正确的,但是你提到输入文件roster的地方是错误的。将其移出脚本。您需要了解awk语法始终如下

awk <action> <file>

<action>部分可以直接在命令行中给出,也可以使用-f标志从脚本中提供。但是<file>论证仍然需要以哪种方式给出。在脚本中移动它会使awk等待输入读取其标准输入,但它不会得到任何输入。

awk -f script.awk roster

您可以修改script.awk只使用awk而不使用-f,并使用/usr/bin/env获取shell以获取awk执行的位置< / p>

#!/usr/bin/env awk

BEGIN {
    print  "Last Name:First Name:Student ID:School – Major:Academic Level:ASURITE:Email" "\n" 
} 
{
    print $1,$2
}